【发布时间】:2019-06-30 09:43:39
【问题描述】:
我正在尝试异步 webrequest,我想在另一个函数中使用返回数据。
request.js
var fetch = require('node-fetch')
async function postAsync(url)
{
var response =await fetch(url,
{
method: "POST",
headers: {
'Content-Type': 'application/json',
'User-Agent': 'AirPlay/320.20',
'Connection': 'keep-alive'
},
body: {},
encoding: null
});
return await response;
}
module.exports = {
postAsync
}
app.js
var request = require('./request');
var response=login();
showData(response.data);
async function login()
{
var response=await request.postAsync("https://httpbin.org/post");
return response;
}
function showData(data)
{
console.log(data);
}
运行 app.js 得到“未定义”的结果。 如果我改变;
var response=login();
到
var response=await login();
我收到错误“等待仅在异步函数中有效”
【问题讨论】:
-
更改 login() 中的最后一行,- 包含 await "return await response;"
-
我改变了但没有工作。我收到“Promise {
}”消息 -
是的,您需要在异步函数中进行任何等待。当你运行最后一段代码时会发生什么?
-
我想在每个轮换响应中将值发送到下一个函数。
标签: node.js async-await webrequest