如何在for循环内部返回对象

时间:2020-06-23 22:45:39

标签: node.js mongoose

我想返回“项目”,它位于for循环内,还有两个附加函数。“项目”是一个对象(我不会说变量),它由三个数组元素组成,根据情况的不同可以更多。因此,我需要返回“ items”,以便可以在外部访问它,并可以使用res.send()将其发送给客户端。如果我在循环和函数内发送数据,它将返回一个错误,错误消息为“错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置标头”。我找到了解决方法,但是在实施它们时,没有任何反应。它引发了我同样的错误。我本来打算做它的回调函数,但是在这种情况下我对如何使用它感到困惑。预先感谢。

router.get("/send" , async (req, res) => {
try {
    res.send("hello")
     //await sendData()
     getCollectionNames()
  } catch (error) {
    console.log(error);
  }
function getCollectionNames(){
    MongoClient.connect(url, function(err, db) {
    var db = db.db('admin')
    mongoose.connection.db.listCollections().toArray(function (err, names) {
        for(let index = 0; index < names.length; index ++){
            if (err) {
            console.log(err);
            }
            let name = names[index].name
            const collection = db.collection(name)
            collection.find().toArray(function(err, items){
                console.log(items)
            })   
    }

    });
})
}

})

0 个答案:

没有答案