在運行下一個函數之前,有沒有辦法確保for循環已完成?等待循環完成
我有一個場景,其中用戶列表的用戶,他們可以選擇X號這些用戶,一旦他們爲每個已被選中的用戶按'完成'我調用一個REST API服務來獲得有關選定用戶添加到「用戶」陣列的更多信息。
但是,什麼是發生的事情是什麼,我把後for循環似乎已經完成之前運行,因此有網友失蹤它
下面示例代碼:
function doCreateStory() {
var users = [];
// Add logged in user as creator
users.push({
"id" : user_id,
"creator" : true
});
// Add all checked users
for (var i = 0, len = items.length; i < len; i++) {
if (items[i].properties.accessoryType == Ti.UI.LIST_ACCESSORY_TYPE_CHECKMARK) {
api.UserSearch({
"method" : "facebook",
"id" : items[i].properties.id
}, function(success, res, code) {
if (success == 1) {
users.push({
"id" : res.message._id,
"creator" : false
});
} else {
// Its broke..
}
});
}
}
// WANT TO DO SOMETHING HERE with 'users' array once loop has finished
}
這似乎是工作,我想ID必須做'請求++'或類似'請求= '這是全部破產'來解釋是否有任何失敗的請求? – Tam2
實際上,我可以將'requests - '移入成功聲明 – Tam2
是的,您需要確保每個分支遞減請求(我的示例具有請求 - if/else之上,因此它應該計算請求。 – jeremy