不知道如何使用async这样问

时间:2018-05-02 00:23:51

标签: node.js mongodb express mongoose

好的,所以我想从两个不同的系列中拉出来。我正在使用Express和mongodb。如果我使用一个或另一个集合它工作正常,我知道我不能只是将这两个发现结合起来:(原谅我......这只是一个例子。)

let string = textField.text?.trimmingCharacters(in: .whitespaces)

我知道我需要使用异步,但我不知道如何设置它。如果有人愿意提供帮助,我会非常感激。

由于

1 个答案:

答案 0 :(得分:0)

Db调用本质上是异步的。但您可以使用Promise来组合异步调用的结果。

'use strict';

router.get("/", (req, res) => {

  Promise.all([
    User.findById(req.user._id),
    Item.find({})
  ]).then(results => {
    let [userDetails, items] = results;
    return res.render("products", {
      items: items,
      user: userDetails
    });
  }).catch(err => {
    console.log('err', err.stack);
  });

});