1
我知道這個問題已被問過1000次,但到目前爲止,我無法將它放入滿足我對它的理解的心理上下文中。我明白回調是什麼,爲什麼。我也明白,當一個值返回到調用函數時,程序已經繼續其生命。這是我的文件。瞭解node.js回調2.0
文件myModule.js
'use strict';
var fs = require('fs');
module.exports = {
f: function(val, callback){
var ext = val[3];
var dir = val[2];
fs.readdir(dir, function(err,path,files){
var count = path.length;
var files = [];
for(var x = 0; x < count; x++){
if(path[x].toString().split('.')[1]){
if(path[x].toString().split('.')[1] == ext) files.push(path[x]);
}
}
callback(files);
});
}
};
和server.js所需要Mymodule中......
'use strict'
var fs = require('fs');
var myMod = require('./myModule');
var dMod = require('./dMod');
var val = process.argv;
var r = myMod.f(val, function(rtn, callback){
if(rtn){
for(r in rtn) console.log(rtn[r]);
}
});
// part where I say "Hey you must wait here until we get rtn because we need him!"
console.log(r)
我是在我的理解是正確的RTN基本上被困在裏面回調和我想要執行的任何未來功能需要rtn將必須嵌套(除非我使用異步)在回調,等等?
將在這裏感謝您的反饋! http://stackoverflow.com/questions/32546846/callback-confusion-and-collecting-data-in-node – devdropper87 2015-09-13 17:59:25