[英]node.js: consume promises using await
我有以下消耗肥皂网络服务的代码:
var soap = require('soap');
var url = 'http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL';
var args = { ubiNum: '1234' };
soap.createClientAsync(url).then((client) => {
return client.NumberToWordsAsync(args);
}).then((result) => {
console.log(result[0].NumberToWordsResult)
});
我正在尝试使用await重写它,这是我的尝试:
var soap = require('soap');
var url = 'http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL';
var args = { ubiNum: '1234' };
var client = await soap.createClientAsync(url);
var result = await client.NumberToWordsAsync(args);
console.log(result[0].NumberToWordsResult)
但是我收到以下错误:
var client = await soap.createClientAsync(url);
^^^^^
SyntaxError: await is only valid in async function
我想念什么?
顺便说一句:如果有人想玩,这里是一个副本 : https : //repl.it/@opensas/BasicNodeSoapClientWithPromises
await仅在异步函数内起作用。 除了异步函数,您不能放置await语句。 因此,您可以重写您的代码,例如
(async function() {
var soap = require('soap');
var url = 'http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL';
var args = { ubiNum: '1234' };
var client = await soap.createClientAsync(url);
var result = await client.NumberToWordsAsync(args);
console.log(result[0].NumberToWordsResult);
})();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.