我正在尝试使用axios进行发布请求,以从服务器获取密钥,并使用它进行第二次发布请求。第一个应该返回一个称为session_id的变量,但确实如此,但是第二个请求失败,错误代码为400,错误请求。我曾尝试向第二个请求添加延迟,以防诺言有问题,但是没有用。抱歉,这是一个愚蠢的错误,因为我不熟悉JS调用。如果我对发布整个代码有利,请询问,我会这样做。
async function login() {
await axios.post(url,credentials)
.then(function(response) {
return response.data.data.sessionId
})
.catch(function(error) {
console.log(error)
})
}
function pullPush(sessionId) {
axios.defaults.headers.common['Authorization'] = 'Session ' + sessionId
axios.post(url2, body)
.then(function(response) {
console.log(response)
})
.catch(function(error) {
console.log(error)
})
}
pullPush(login())
答案 0 :(得分:0)
我认为您使用的异步方式不正确尝试login().then(pullPush)
并在登录功能内返回axios.post调用。
所以return await axios.post(...)
由于登录是异步函数,因此它返回一个Promise。
因此,我们将其与then
链接以获得最后链接的.then
的结果
并传递给下一个函数pullPush