0

如果我控制台记录 count+1 的输出,我会得到一个正确的数值。如果我输出 note.note_id 的值,我会得到未定义。为什么是这样?

我尝试将值设置为函数内部的预定义值。

note.note_id = db.notes.count(function(err, count) {
  return count + 1;
});
4

1 回答 1

4

在不知道是什么的情况下很难回答,db.notes但它似乎是访问数据库的东西。这意味着它很可能是异步的,这意味着该count()方法永远不会返回值,但是您需要对回调中的结果执行任何您想做的事情。

db.notes.count(function(err, count) {
    note.note_id = count + 1;
    // do more stuff here
});
// do NOT do stuff here. it will run BEFORE the callback has been executed
于 2013-01-13T13:27:06.353 回答