【发布时间】:2019-11-03 05:40:32
【问题描述】:
我编写了一个代码来使用 promise 从异步调用中返回一些数据。当我尝试执行时,我得到“语法错误等待仅在异步函数中有效”,并且我得到无法代理应用程序请求...错误:连接 ECONNREFUSED。
我不确定为什么会出现这些错误
我在函数调用之前尝试过使用异步,但是没有用
var http = require('https');
var httpGet = function(url) {
return new Promise (function(resolve, reject) {
http.get(url,function(res) {
res.setEncoding('utf8');
var body = '';
res.on('data', function(chunk){
body += chunk;
console.log("The body is "+ body);
});
res.on('end',function(){resolve(body);});
}).on('error', reject);
});
};
var body = await httpGet('link');
$.response.setBody(body);
我希望变量 body 具有从 httpGet 函数返回的数据。现在我得到了上述错误。但不使用 await,我将 body 的值设为 '{}'。
请帮忙
【问题讨论】:
-
这能回答你的问题吗? await is only valid in async function
标签: javascript node.js asynchronous