【发布时间】:2021-06-16 17:59:39
【问题描述】:
我对 Express 还很陌生,所以我想了解一些复杂的问题。
现在我正在使用 Axios 在到达特定路线时发布一些数据。
当我在路由本身内部执行 Axios 发布请求时,它可以正常工作并注销响应,即
server.post('/inventory-request', (req, res) => {
axios.post(base_api_url, data, {
headers: headers
})
.then((response) => {
console.log(response.data)
})
.catch((error) => {
console.log(error)
})
})
然后我将 axios 请求移到了它自己的文件“./lib/inventory-request.js”中(我省略了一些配置信息和请求信息,但我可以确认它们都是正确且有效的)
const axios = require('axios').default;
const base_api_url = 'some_url';
module.exports = function(){
const headers = {
"Content-Type": "application/graphql"
}
let data = `{
}`
axios.post(base_api_url, data, {
headers: headers
})
.then((response) => {
return response.data
})
.catch((error) => {
return 'no'
})
};
更新后的路线如下所示:
server.post('/inventory-request', (req, res) => {
let inventoryData = inventoryRequest()
console.log(inventoryData)
})
现在当我到达路线时,我只是在日志中得到“未定义”。
我知道这个问题与 async/await 相关,并且 console.log 在 Axios 帖子完成之前就被触发了,我只是很难在网上找到关于如何正确处理这两个问题的文档文件(server.js 文件和 lib/inventory-request.js 文件)。
【问题讨论】:
标签: javascript node.js reactjs express