【发布时间】:2021-08-04 01:25:32
【问题描述】:
我正在使用一个肥皂文件来执行简单的数学计算,但是当我要使用我的控制器中的结果以 JSON 格式打印时,我的函数返回一个 “承诺 {}” 就在这里,我将离开我的功能和我的控制器
const CalcSum = require('../sum');
const calcSum = new CalcSum();
class CalculatorController{
adder (req,res){
const{
value1,
value2,
}= req.body;
const result = calcSum.sum(value1,value2);
console.log(result);
return res.status(200).json({
Response: result
})
}
}
module.exports = CalculatorController;
//end class CalculatorController;
// consolo.log(result) returns Promise {<pending>} in the terminal
//the first class is my controller, next is my function
const soap = require("soap");
const wsdl = "http://www.dneonline.com/calculator.asmx?wsdl";
class CalcSum{
async sum(value1, value2) {
const soapClient = await soap.createClientAsync(wsdl);
await soapClient.Add({ intA: value1, intB: value2 }, (err, result) => {
then(function(result) {
console.log(result);
return result.AddResult;
})
.then(function(result) {
console.log(result);
});
})
}
}
module.exports = CalcSum;
//end class/function CalcSum
【问题讨论】:
-
您是否考虑过等待承诺解决?
-
是的,它是一个异步函数。 Those return a promise.
-
我很惊讶你得到了这么多,考虑到你没有返回
await soapClient.Add的结果 -
(err, result) => { then(function(result) {看起来不对
标签: javascript node.js soap async-await promise