如何在Node.js中执行post after post?

时间:2018-08-07 07:02:31

标签: node.js reactjs express

我正在从react执行帖子,之后我在后端进行了一些计算。发布和计算后如何执行将结果显示在我的前端?

3 个答案:

答案 0 :(得分:0)

我想我明白了你的问题,尽管含糊不清。 但是
1)您想将数据发布到某个路由。该路由可能会给出一个success响应或一个error或一些其他数据,但是它会在内部进行一些处理,可能会向db表中添加一些行。
2)您想获取数据库表的当前状态(我假设表可能是任何东西)。

如果是这种情况,您可以做的只是在链中添加一个get调用即可。

axios.post('/api/OddsCalculator', newGame)
.then(games => {
    // this means you got your game
    this.setState({ games }, () => console.log(), games);
    //now add one get request as well
    return axios('/api/getSomeData');
})
.then((data)=>{
    //this data is from the GET call
    this.setState({ data })
})
.catch(err => this.setState({
    errors: err.response.data
}))

希望这是一个合理的假设,但是在获得解决方案时随时编辑答案。

在此处引用Promise链接:https://javascript.info/promise-chaining

答案 1 :(得分:-1)

您在前一种方法成功时调用它。您使用嵌套的调用。请在下面的示例中找到应该有两种方法的地方:调用它们之前定义了yourPostMethod和yourGetMethod。

function handler () {
  return yourPostMethod()
    .then(yourGetMethod)
    .then((result) => {
      console.log(result)
      return result
    })
}

答案 2 :(得分:-1)

您的快递标签有问题,所以我假设您正在使用。

redirect表现出色。我一直都在用它

说:

app.post('/somePOSTpath', (req, res) => {
   // Do Some stuff
   res.redirect('/somepath');
})

这将最终将您的后端定向到somepath