使用 esri/request 触发的多个 XHR 请求在使用 dojo/promise/all 处理时返回延迟
Multiple XHR request fired using esri/request returning a deferred when handled using dojo/promise/all
我在处理使用 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);
});
我在上述所有成功回调中得到延迟的结果。
有人可以告诉我为什么我得到的是延期而不是实际结果吗?
我得到的结果是延迟的,因为我在传递给所有人的参数中缺少方括号。 all的正确调用方式如下
var promise1 = def1.promise;
var promise2 = def2.promise;
all([promise1, promise2]).then(function (results) {
console.log(results);
}, function (err) {
console.log(err);
});
我在处理使用 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);
});
我在上述所有成功回调中得到延迟的结果。
有人可以告诉我为什么我得到的是延期而不是实际结果吗?
我得到的结果是延迟的,因为我在传递给所有人的参数中缺少方括号。 all的正确调用方式如下
var promise1 = def1.promise;
var promise2 = def2.promise;
all([promise1, promise2]).then(function (results) {
console.log(results);
}, function (err) {
console.log(err);
});