我想使用itemFileReadStore將查詢結果保存到一個名爲boxes的數組中,但返回值爲空(大概是因爲fetch是異步運行的)。與ItemFileReadStore查詢異步混淆
gotItems函數根據需要構建數組,但我無法將其返回給我自己以供任何使用!我可以將剩餘的功能構建到gotItems部分,但這會使我的代碼變得沒有問題。
如何從gotItems函數返回一個通用的JavaScript數組?
function getContentFile() {
contentStore = new dojo.data.ItemFileReadStore({
url: '../config/content.json',
preventCache : true
});
var boxes = new Array();
contentStore.fetch({query: {partner : 'enabled'}, onItem: gotItems });
return boxes;
}
function gotItems(item) {
boxes.push(contentStore.getValue(item,'title'));
console.log(boxes);
return boxes;
}
dojo.addOnLoad(function() {
boxes = getContentFile();
console.log(boxes);
fadeIn('header', 500, 0);
});