从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

回到顶部