我正在使用soundcloud API。我有一個函數,我打電話給
進行API調用時返回函數(javascript)
SC.get('/tracks', { tags: geotags }, SearchTracks);
它將響應對象和錯誤代碼返回給名爲SearchTracks的函數。在調用SearchTracks之後,我如何返回到我所在的主函數,以及如何將響應對象返回給它?
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
}
謝謝馬伏里奧,我並沒有意識到,javascipt的程序流程約定是不同於在舊的語言中我試着把var SearchTracks放在函數plot_soundcloud中,但是p程序在那裏中止。所以我無法訪問我的plot_soundcloud變量 – HeatherSpence
@HeatherSpence - Javascript是* nonblocking *。它不會停下來等待I/O等事情。但程序不會「中止」。您可能有語法錯誤,未聲明的變量或其他內容。 – Malvolio