1

一段时间以来,我一直在开发一个小型 Spotify 应用程序。我开始使用旧 API (0.x),但现在我想访问用户的播放列表,我需要使用仅在API 1.0 版中可用的库模块

spotify 团队甚至为此提供了迁移指南!(如果你读到我:谢谢你们所做的一切;))。

我已经创建了一些对象(这是一个小应用程序,所以我不需要更多),每个对象都有一个功能,如下所示:

var sp = getSpotifyApi();
var models = require('sp://import/scripts/api/models');
var player =  models.player;
var views = require('sp://import/scripts/api/views');

// in file 'mySpotify.js'
var mySpotify =
{
  playerNextTrack: function()
  {
    player.next();
  },
}

每当我需要跳过当前曲目时,我可以调用mySpotify.playerNextTrack();

但是现在,有了新的 API,我需要做这样的事情(来自Spotify doc):

require(['$api/models'], function(models) {
  var player = models.player;
  player.next();
});

我的问题很简单:如何将这种代码包含到我的对象中?我怎样才能给最后一个“功能”起个名字?

由于我是 JS 的新手,我可能做错了什么或以错误的方式理解了某些事情,所以如果可以的话,请随时详细说明;)

4

1 回答 1

1

我将从我认为简单的答案开始,只需将require([], function {[all your code]});整个 myspotify.js 文件放在一起。这基本上就是我所拥有的,尽管我还没有构建任何我自己的对象。不要认为那会很重要。

更新 这里有更多信息显示可以使用对象。这是你要找的吗?

require(['$api/models'], function(models) {
var mySpotify =
{
  playerNextTrack: function()
  {
    models.player.skipToNextTrack();
  },
}

var playtest = document.querySelector('#playtest');
playtest.addEventListener('click', function() { mySpotify.playerNextTrack(); });

});
于 2013-12-09T19:27:03.017 回答