2015-03-19 23 views
0

我有一個回憶,讀取postMessage請求將不會返回,直到onmessage事件已被傳遞給收件人。什麼時候Web Worker postMessage({})返回給調用者

說了這麼多,我似乎無法找到在莫和文檔,如在網絡上的任何引用: - 消息「隊列」,這讓我覺得可以將消息堆積 https://html.spec.whatwg.org/multipage/workers.html 通話/排隊進行處理。

有人在這裏有指定行爲的參考指針嗎?

通過簡單地嘗試將消息同時發送給對方,網頁和工作人員能否陷入僵局?

+0

需要有一個onmesage事件監聽器來接受postMessages。由於事件循環的方式,我認爲網頁和工作人員不會陷入僵局。 – 2015-03-19 23:18:49

+0

我瞭解消息傳遞和onmessage處理程序是如何工作的。我需要建立的是「一旦事件在Web Worker隊列中排隊,postMessage(工作單元)(主機/老闆/網頁)是否可以繼續工作到Web Worker線程,而不必等到事件被傳遞給web工作者線程 – 2015-03-20 03:19:50

+0

如果有關於隊列的討論,那麼我認爲它將鎖定直到消息被傳遞給工作人員是沒有意義的,因爲那時它不會是一個隊列所有。 – 2015-03-20 13:28:41

回答

1

它幾乎立即返回。消息在postMessage()之前排隊,然後在「幕後」複製/傳輸並異步傳遞給工作人員。相反的。死亡應該是不可能的,除非你停止了所有的處理,直到你看到某個消息,當然。

相關問題