【发布时间】:2017-08-03 11:45:13
【问题描述】:
我有 3 个来自 Node.js 的 Web 服务调用。 2 是 ReST,1 是 SOAP。全部都封装在 Promises 中。
我已经收到我的 ReST 请求以正确返回 Promise,并且可以在 Promise.all 块中访问这些请求,但是当我添加我的 SOAP 请求时,我收到一条消息说 Promise 未定义。
我正在使用节点 v8.2.1。我试过 request 和 request-promise 但同样的事情发生了。我的代码看起来像这样 - 我显然做错了什么?
const locationRequest = require('request');
var soapPromise = new Promise(function(resolve, reject) {
locationRequest(options1, function(error, response, output) {
if (error) {
console.info("soap error: " + error);
reject(error);
}
else {
console.info("soap success: " + response);
resolve(response);
}
});
return promise;
});
Promise.all([restPromise, photoPromise, soapPromise]) //addition of soapPromise causes the issue
.then(function([restResult, photoResult, soapResult]) {
//respond to client
console.info("Resource: " + restResult.name);
console.info("Photo Path: " + photoResult);
console.info("Soap: " + soapResult);
})
.catch(function(error) {
console.info("promise all error: " + error);
res.send('done');
//catch an error generated from either request
})
添加 soapPromise 东西给了我:
ReferenceError: 未定义承诺
【问题讨论】:
标签: javascript node.js soap