首先,我想明確一點,我是 node.js 的新手,這聽起來像是一個愚蠢的問題,但是,我應該如何從 mongoose 的 model.find() 函式中回傳資料(例如,使用var.exports = var)?<
const data = () =>
{
MyModel.find().then(function(result){
console.log(result);
return(result);
});
}
exports.data = data
由于查詢是異步的,在函式完成之前我無法檢索這些資料(所以永遠不會)。無論如何要在變數中回傳這些資訊,例如:
const retriever = require('../utils/test.js') //calling the exports file
test = retriever.data
console.log(test)
非常感謝您提前
uj5u.com熱心網友回復:
有了承諾,您可以按如下方式實作它
const data = () => {
return MyModel.find({});
}
// using it in another function
const result = await data();
uj5u.com熱心網友回復:
1.可以使用回呼,如下
const data = (callback) =>
{
MyModel.find().then(function(result){
console.log(result);
//return(result);
callback(results);//we pass in a function which will be used to pull out
//data
});
}
exports.data = data
// 使用此代碼的區域
const {data} = require('./to/data')
//show data
data(function (result) {
console.log( result );// data from callback
})
2. 使用 async/await 承諾
const data = async () =>
{
let results = await MyModel.find();
}
exports.data = data
關于使用此功能
const {data} = require('./to/data')
(async function () {
let res = await data();
console.log(res);
})()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/412078.html
標籤:
