0
功能1:獲取JSON數據&商店功能保持觸發JSON之前處理完
我創建一個腳本,抽搐通道的陣列將通過JSON功能環中處理,然後用存儲「localStorage.setItem」作爲臨時存儲。我將它們保存在名稱,查看器和網址中。
功能2:排序數據
存儲的數據稍後可用於無需再次使用函數1以顯示信息。
問題
的sortdata功能不斷髮射前的功能1完成。由於數據未定義而導致出錯。此錯誤控制檯前彈出顯示從功能存儲1.
的所有信息,我的代碼:
$(window).load(function(){
$.when(getData()).promise().done(function(){
getStoredObj();
});
});
function getData(){
var streamArray=[];
jQuery.each (channels, function (i, channel) {
channelId = channel.id;
channelUrl = channel.url;
var promise = $.ajax({
dataType: "jsonp",
url: twitchApi + channelId,
success: 1,
}).done(function (data) {
if (data.stream == null) {
} else {
var displayName = data.stream.channel.display_name;
var viewerCount = data.stream.viewers;
streamArray.push({name: displayName, views: viewerCount, url: channelUrl});
localStorage.setItem("storedStreamArray", JSON.stringify(streamArray));
console.log(JSON.stringify(streamArray));
}
});
});
}
function getStoredObj() {
var retrievedObject = localStorage.getItem('storedStreamArray');
var parsedObject = JSON.parse(retrievedObject);
<sorting codes here>
}
一些幫助在這裏真的很感激。 :)
將排序代碼放在ajax成功函數中 – madalinivascu
我在getData()的循環外添加了getStoredObj()。不工作,getStoredObj()仍然在localStorage之前觸發。 –
請參閱http://api.jquery.com/ajaxcomplete/ – madalinivascu