代码之家  ›  专栏  ›  技术社区  ›  Richlewis

异步/等待发布请求-nodejs

  •  0
  • Richlewis  · 技术社区  · 6 年前

    在继续处理其余的post请求之前,我需要进行一个数据库调用,并等待响应(在本例中,等待实现承诺)。

    app.post("/charge", (req, res) => {
      var user_stripe_id = await queries.get_stripe_id_by_email(req.body.token.email);
    }
    

    但是,我不能等待查询,因为我不在异步函数中。我怎么做 app.post 异步?

    在其他路线上,我也这样做过

    app.get('/', async function (req, res) {
      const leagues = await distinctLeagues();
      res.render('home', { leagues: leagues });
    });
    

    但是我想知道如何使用箭头函数语法来完成它。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Arjun Komath    6 年前

    您可以创建一个 async

    app.post("/charge", async (req, res) => {
      var user_stripe_id = await queries.get_stripe_id_by_email(req.body.token.email);
    }
    

    quote

    async function main() {
      try {
        var quote = await getQuote();
        console.log(quote);
      } catch (error) {
        console.error(error);
      }
    }