使用esri/request触发多个XHR请求,使用dojo/promise/all处理时返回延迟

js81xvg6  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(174)

我在处理使用Esri/request发出的多个XHR请求时遇到困难。
我正在使用下面的代码触发多个请求

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);
});

我在上述所有成功回调中得到延迟的结果。
有人能告诉我为什么我被推迟而不是实际结果吗?

bqf10yzr

bqf10yzr1#

我得到的结果是延迟的,因为传递给all的参数中缺少方括号。

var promise1 = def1.promise;
var promise2 = def2.promise;

all([promise1, promise2]).then(function (results) {
   console.log(results);
}, function (err) {
   console.log(err);
});

相关问题