我正在使用soundcloud API。我有一个我打电话的功能
SC.get('/tracks', { tags: geotags }, SearchTracks);
将响应对象和错误代码返回给名为SearchTracks的函数。在调用SearchTracks之后,如何返回到我所在的main函数,以及如何将响应对象返回给它?
API调用在plot_soundcloud中:
function plot_soundcloud(coor)
{
var geotags= "geo:lon="+SCQueryPoints.join(" geo:lon=");
SC.get('/tracks', { tags: geotags }, SearchTracks);
alert ("return here and do some more stuff"); //this line does not execute
}
它调用此函数,但如何返回plot_soundcloud?
var SearchTracks=function Search(tracks)<br>{
// assign longitude and latitude<br>
for (var key in tracks)
{var lon=tracks[key].tag_list.match(/geo:lon=(.*?\.\d+)\s*/);
tracks[key].lon=lon[1];
var lat=tracks[key].tag_list.match(/geo:lat=(.*?\.\d+)\s*/);
tracks[key].lat=lat[1];
}
return tracks; //I want to be able to use tracks[key].lon in plot_soundcloud
var SearchTracks=function Search(tracks)<br>{
// assign longitude and latitude<br>
for (var key in tracks)
{var lon=tracks[key].tag_list.match(/geo:lon=(.*?\.\d+)\s*/);
tracks[key].lon=lon[1];
var lat=tracks[key].tag_list.match(/geo:lat=(.*?\.\d+)\s*/);
tracks[key].lat=lat[1];
}
return tracks; //I want to be able to use tracks[key].lon in plot_soundcloud
答案 0 :(得分:1)
你没有。主要功能已经结束。如果你需要对结果做些什么(或者只是在GET完成后需要做),你必须在SearchTracks中进行。
如果SearchTracks需要访问plot_soundcloud的局部变量,只需在plot_soundcloud中声明SearchTracks。
(还有一点提示:选择功能的命名标准并坚持下去。所以SearchTracks和PlotSoundCloud,或者(最好)search_tracks和plot_soundcloud。
答案 1 :(得分:1)
简短的回答是,你没有回来。
实现更多的东西作为SearchTracks的一部分实现一个函数来做更多的东西,并调用该函数而不是SearchTracks