在我选择的代码库中,我们有
这样的链funcA(a,b){
funcB(a, funcC);
}
funcB(a,b,callback){
callback(a, funcD); // calls funcC
}
funcC(a,b,callback){
callback(a, funcE); // calls funcD
}
所以这些功能甚至不知道他们称之为回叫!
毋庸置疑,按照此代码阅读真的很难。
是否必须这样?如何改进此代码?
谢谢!
答案 0 :(得分:2)
EventEmitter可以帮助您解决问题吗?
http://nodejs.org/api/events.html#events_emitter_on_event_listener
var emitter = require('events').EventEmitter;
function A(a,b) {
// hard work
emitter.emit('funcADone', a , b);
}
function B(a,b) {
var c = a + b;
emitter.emit('funcBDone', c);
}
function C(c) {
console.log(c);
}
emitter.on('funcADone', B);
emitter.on('funcBDone', C);
A(1,2);