私が質問したことを表す用語があるかどうかわからないので、説明してみます。
連絡先の配列を取得し、それらをループして Web サイトでのステータスを更新する関数を取得しました。「something.getStatus」関数は何も返しませんが、正常に完了すると、ユーザーのステータス (オンライン/オフライン/など) が返されます。
ここでの問題は、内部の関数が呼び出されたときに、変数 user_id がすべての関数呼び出しの配列の最後の変数であり、どのようなステータスを持っているかを知ることが不可能になることです。
function gotGroupContacts(contacts) {
for ( i = 0; i < contacts.length; i++) {
var user_id = contacts[i];
something.getStatus(user_id, function(resp) {
updateLinkStatus(user_id, resp.status, resp.statusMessage);
}, getStatusErrorHandler);
}
}
変数を「ロック」する方法、または変数を内部の関数に渡す方法はありますか?