Javascript 使用axios post请求获取错误400

Javascript 使用axios post请求获取错误400,javascript,asynchronous,axios,Javascript,Asynchronous,Axios,我正在尝试使用axios从服务器获取密钥并使用它发出第二个post请求。第一个请求应该返回一个名为session_id的变量,它确实返回了该变量,但是第二个请求失败,错误代码为400,请求错误。我曾尝试在第二个请求中添加延迟,以防这是承诺的问题,但没有起作用。如果这是一个愚蠢的错误,很抱歉,因为我对处理JS调用还不熟悉。如果发布整个代码对我有好处的话,问一下,我会这么做的 async function login() { await axios.post(url,credentials)

我正在尝试使用axios从服务器获取密钥并使用它发出第二个post请求。第一个请求应该返回一个名为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())

我认为您错误地使用了异步。请尝试
login()。然后(pullPush)
并在登录函数中返回axios.post调用

所以
返回等待axios.post(…)

因为login是一个异步函数,所以它返回一个承诺。 因此,我们用
然后
链接它,以获得最后一个链接的
的结果。然后

并将下一个函数传递给它,该函数是
pullPush

login
一个解析为未定义的承诺,因为在该函数中没有返回任何值