10

次の関数を実行する前に 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 

}
4

2 に答える 2