gpt4 book ai didi

Javascript - 使用 soundcloud API 进行异步操作

转载 作者:行者123 更新时间:2023-11-28 06:43:26 24 4
gpt4 key购买 nike

代码如下:

var holder;
var findSong;
var embedHolder;


$(".hypemList ol").on('click','li',function (){

holder = $(this).text();
findSong = SC.get('/tracks', { q: holder });
embedHolder = findSong._result[0].uri;
SC.oEmbed(embedHolder // song to embed
, { color: "ff0066"
, auto_play: false
, maxwidth: 500
, maxheight: 1000
, show_comments: true // options
, element: document.getElementById("soundTest") // what element to attach player to
});

});

我希望发生什么:

我有一个我想播放的歌曲列表。当我点击歌曲时,我将抓取该字符串,然后使用该字符串搜索 soundcloud API。我将获取结果的索引 0 并将其放入 SC.oEmbed 中来播放歌曲。

当我打开开发控制台时,单击歌曲时出现此错误 -

Uncaught TypeError: Cannot read property '_result' of undefined.

我相信我需要等待 findSong 完成,然后我可以使用 embedHolder 并将其放入 SC.oEmbed 中。

我做了什么:

我发现了这个:returning array from function in javascript 。我尝试按照他们的做法进行操作,但似乎没有效果。

如果有人能够为我指明下一步该做什么的正确方向,我将不胜感激。

最佳答案

SC.get() 有 3 个参数:路径、选项和回调。回调是一个在 SC.get 完成后调用的函数。本例中的回调将结果数组作为参数。在代码中使用回调将如下所示:

 SC.get('/tracks', { q: holder }, function(tracks){ 
embedHolder = tracks[0].uri;
SC.oEmbed(embedHolder // song to embed
, { color: "ff0066"
, auto_play: false
, maxwidth: 500
, maxheight: 1000
, show_comments: true // options
, element: document.getElementById("soundTest") // what element to attach player to
});

});

希望对你有帮助!

关于Javascript - 使用 soundcloud API 进行异步操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33597055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com