次の関数を実行する前に for ループが終了していることを確認する方法はありますか?
ユーザーにユーザーのリストが表示されるシナリオがあります。ユーザーは X 人のユーザーを選択でき、選択されたユーザーごとに「完了」を押すと、REST API サービスを呼び出して詳細情報を取得します。 「users」配列に追加する選択されたユーザー。
しかし、何が起こっているのかというと、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
}