有没有办法在运行下一个函数之前确保 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
}