var filter = [];
var promise = filterModel.find().exec();
promise.then(
function(queryResult){
for(var i in queryResult){
var filterId = queryResult[i].id;
var filterName = queryResult[i].name;
filter[filterId] = filterName;
}
},
function(err){
console.log('Error');
}
);
console.log(filter);
在console中没有显示变量filter的数值,请问如何使用mongoose调取数据库数据?
回复 (4)
J
把console.log(filter)移到function(queryResult){}里面
P
引用 jingsam把console.log(filter)移到function(queryResult){}里面
@jingsam 移到function(queryResult){}显示出数值了。但是filter变量的无法在promise外使用。
J
建议好好理解下node 的回调函数执行机制,这段代码的执行顺序不是你想的那样,一行一行地执行,准确地来说最后一行console.log会先于promise里面的回调函数执行
参与回复
登录后即可参与回复。登录