从Axios API返回数据
我正在尝试使用Node.JS应用程序来发出和接收API请求。它使用Axios对其接收的API调用接收的数据向另一个服务器发出get请求。第二个片段是脚本从调用中返回数据的时间。它实际上会接收并写入控制台,但不会在第二个API中将其发送回去。
function axiosTest() { axios.get(url)
.then(function (response) {
console.log(response.data);
// I need this data here ^^
return response.data;
})
.catch(function (error) {
console.log(error);
});
}
…
axiosTestResult = axiosTest(); response.json({message: "Request received!", data: axiosTestResult});
我知道这是错误的,我只是想找到一种使它起作用的方法。我似乎只能从中获取数据的唯一方法是通过console.log,这对我的情况没有帮助。
回答:
从axiosTest
函数中的axios调用返回promise ,然后在使用另一个调用它时从promise中获取值.then
function axiosTest() { return axios.get(url).then(response => {
// returning the data here allows the caller to get it through another .then(...)
return response.data
})
}
axiosTest()
.then(data => {
response.json({ message: 'Request received!', data })
})
.catch(err => console.log(err))
我还建议您阅读有关诺言如何工作的更多信息:https : //developer.mozilla.org/en-
US/docs/Web/JavaScript/Guide/Using_promises
以上是 从Axios API返回数据 的全部内容, 来源链接: utcz.com/qa/409070.html