我使用jQuery延遲,並且已經注意到一個奇怪的行爲。
見小提琴這裏:http://jsfiddle.net/wKTgP/1/
如果我使用$。當調用一組承諾
$.when(promise1, promise2)
.progress(function (message1, message2) {
alert(message1 + ' ' + message2);
});
如果promise1發送通知「你好」,並promise2發送「世界」,我得到兩個消息框:
'你好未定義'
和
「世界你好」
第一通知明顯顯示了promise1的消息,並且promise2處理不當發送任何東西......但第二個通知,讓我覺得promise1已派出「你好」一遍,promise2第一次發送'世界'...
這是怎麼回事?
第一承諾仍處於狀態「實現」的時候promise2取得。 – 2012-03-15 23:04:02
是的 - 我相信這是一個問題,我認爲'通知'的方式 - 命名(通知)意味着'事件'類型的機制,最好稱之爲'狀態',因爲它實際上設置'進展狀態'的延期實例。現在我明白了,它更有意義。 – Adam 2012-03-15 23:08:14
我之前沒有使用它,但在進程內部激活時可能有通知清除機制?我也試圖理解它。 – 2012-03-15 23:14:47