Множественный XHR-запрос сработал с использованием esri/request, возвращая отложенный при обработке с использованием dojo/promise/all
У меня возникают трудности при обработке нескольких запросов XHR, запущенных с использованием esri/request.
Я запускаю несколько запросов, используя код ниже
var def1 = esriRequest({
url: url1,
content: { f: "json" },
handleAs: "json",
callbackParamName: "callback"
});
var def2 = esriRequest({
url: url2,
content: { f: "json" },
handleAs: "json",
callbackParamName: "callback"
});
Чтобы справиться с этим, я пишу следующий код
var promise1 = def1.promise;
var promise2 = def2.promise;
all(promise1, promise2).then(function (results) {
console.log(results);//here I am getting results as deferred instead of actual result. why?
}, function (err) {
console.log(err);
});
Я получаю результаты, как отложено в обратном вызове успеха всего выше.
Может кто-нибудь сказать мне, почему я получаю отсрочку вместо фактических результатов?
1 ответ
Я получал результаты как отложенные, потому что мне не хватало квадратных скобок в параметрах, передаваемых всем. Правильный способ назвать все следующим образом
var promise1 = def1.promise;
var promise2 = def2.promise;
all([promise1, promise2]).then(function (results) {
console.log(results);
}, function (err) {
console.log(err);
});