【发布时间】:2019-05-17 07:33:15
【问题描述】:
当我创建新变量并分配回调函数时,但数据无法从回调函数返回。新变量出现未定义。
const nedb = require('nedb');
const user = new nedb({ filename: './builds/database/users.db', autoload: true });
var s = user.find({}, function (err,docs) {
if(docs.length == 0) {
var data = false;
} else {
var data = docs;
}
return data;
});
console.log(s);
var s 未定义! ....
【问题讨论】:
-
console.log(s);会在给var s赋值后立即执行,函数在find查询后返回值,所以初始值为undefined,需要等到它返回打印值。你不能像上面那样分配它.. -
我该怎么办?...请举例.... :(
-
你需要学习 Async / Await 或 Promises 来弄清楚为什么你的所作所为永远行不通。总帐。
标签: node.js