0
什麼是快:什麼是更快的基於事件或延遲的處理?
Event.once('some_event', function() { // wait until an event fired from somewhere
defer.resolve('resolved')
})
...
// somewhere else
Event.emit('some_event')
或smth.like:
defer = doSmthDeferred(); // to get the deferred resolved/rejected from somewhere else
...
// somewhere else
doSmthDeferred = function() {
defer
if ...
defer.resolve();
else
defer.reject();
}
即:什麼是更好 - 事件處理或嵌套的承諾/ deferreds處理?是基於事件處理的承諾/延期?
謝謝!構圖屬性很好知道,在承諾中真的很有特色。 我現在設計一個關於鎖定/排隊消息的小項目的模塊,並且我無法克服這個問題,只能採用一種風格:基於承諾,所以有一個地方需要發出一個事件(當一個元素被解鎖時,我需要通知隊列將鎖授予隊列中的另一個元素,其中隊列具有此事件的觸發器)。 那麼通常還是應該只做一種風格?你怎麼想? – static 2013-03-10 05:25:23
一般而言,適當地混合和匹配兩種風格是很好的。儘管如此,嘗試並向外界展示一致的界面。如果你覺得你需要同時看到外部世界,你應該寫兩個單獨的模塊,每個模塊都做一半的東西。在內部,對於你所描述的,你可能不想要一個完整的事件系統,你可能只想定義一個函數'processQueue',並在元素解鎖時調用'processQueue'。 – ForbesLindesay 2013-03-12 17:13:34