1
我在設計一個通過回調暴露其行爲的類時遇到了麻煩。是的,我的方法適用於我,但也似乎太複雜。Javascript回調管理
爲了說明我畫下面的圖片的問題。我希望對你瞭解班級/模特很有幫助。
在我的方法,我用一些陣列控股用戶定義的回調函數。
....
rocket.prototype.on = function(eventName, userFunction) {
this.callbacks[eventName].push(userFunction);
}
rocket.prototype.beforeLunch = function(){
userFunctions = this.callbacks['beforeLunch']
for(var i in userFunctions)
userFunctions[i](); // calling the user function
}
rocket.prototype.lunch = function() {
this.beforeLunch();
...
}
....
var myRocket = new Rocket();
myRocket.on('beforeLunch', function() {
// do some work
console.log('the newspaper guys are taking pictures of the rocket');
});
myRocket.on('beforeLunch', function() {
// do some work
console.log('some engineers are making last checks ');
});
我想知道最常用的方法是什麼。我想我可以使用承諾或其他庫來使這個實現更容易理解。在這張使用回調的幻燈片中被認爲是邪惡的。 http://www.slideshare.net/TrevorBurnham/sane-async-patterns
那麼,我應該使用承諾這樣的圖書館還是繼續並加強我的方法?
我沒有得到你真正想做的事情。動畫?或者這幅圖描述了你的世界模型? – Bergi
我編輯問題。現在它更清楚。 – Samed
我不會將Javascript用於任何人們生命危險的重要軟件。 – tomsv