坚持使用nodejs回调

时间:2013-11-02 13:41:13

标签: javascript node.js

getDbFiles(store, function(files){
require('ms-db').connect("DBname", function (db) {
    db.collection('collectionName').find().toArray(function (err, data) {
        console.log(data);
        store = data;
    })
});
      getCdnFiles(store, function(files1) {

      });});

我想调用这个getDbFiles func make查询,其结果应该可以通过getCdnFiles()访问,但它显示的错误是“store”未定义。所以请帮助我解决这个问题,如何使用节点js和回调实现这一点......

1 个答案:

答案 0 :(得分:2)

如果您希望getDbFiles可以访问getCdnFiles的结果,则需要将getCdnFiles的调用移至db.collection的回调函数

getDbFiles(store, function(files){
  require('ms-db').connect("DBname", function (db) {
    db.collection('collectionName').find().toArray(function (err, data) {
      console.log(data);
      store = data;

      getCdnFiles(store, function(files1) {

      });
    });
  });
});

您还可以使用async.waterfall来帮助最小化回调级别。