我如何在mongoOp之外的节点js中打印结果数组以查找查询?

时间:2018-10-13 11:00:04

标签: javascript node.js express

我是Node.js的新手,我想将数据数组传递给控制器​​。但是我无法在数组中插入循环数据,而且我还想从函数中获取结果数据。

Population.gen

2 个答案:

答案 0 :(得分:0)

您需要阅读有关javascript中的异步和回调的信息。另一种方法是阅读有关异步和等待的内容。

答案 1 :(得分:0)

我会使用asyncawait

router.get('route', (req, res) => {
    // ...
    users.find(query, (err, d) => {
        try {
            // ...
            var results = []
            for (var data of array) {
                const result = await fetchUser(data)
                results.push(result)
            }
            console.log(results)
        } catch (err) {
            console.log('some error occured', err)
        }
    })
})

async function fetchUser(id) {
    return new Promise((resolve, reject) => {
        users.find({ _id: id }, (err, data) => {
            return err ? reject(err) : resolve(data)
        })
    })
}

如果您对asyncawait不太熟悉,我建议您this video