1
の配列が、私はpeoplePickersの配列(ユーザーが従業員ディレクトリから人を選ぶことができるコンポーネントを)持っています。私はそれらをループやディレクトリ(非同期、リターンが約束)から情報を取得するための要求の配列を作ります。それから私は、ユーザーIDのオブジェクト(わざとではない配列!)にキーと値として、サーバからの情報として、ピッカー名を追加します。コンソールにログインすると、userIdsは常に空になります。JS約束:リクエスト
var userIds = {};
var requests = [];
peoplePickers.forEach(function (picker) {
var infos = ...;
requests.push(getUserInfosFromDirectory(infos).then(function (userInfos) {
userIds[picker] = userInfos.Id;
}));
});
$.when.apply($, requests).then(function() {
console.log(userIds);
});
function getUserInfosFromDirectory(loginName){
...
return $.ajax({
url: ...,
type: "POST",
contentType: "application/json;odata=verbose",
data: loginName,
headers: {
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"accept": "application/json;odata=verbose"
}
}).then(function (data) {
return data.userInfos
});
}
'getUserInfosFromDirectory()'の中核部分を追加できますか? –
@DanielBそれを追加しました。 btw:私は正しいデータを得て、それが私が望むように返されることを知っています。 – sandrooco
どのようにあなたがこれを「知って」いますか?データが「どこか」から「どこか」に返されるという印象を与えるものは何ですか? –