2017-06-14 74 views
0

Firefox允許附加到網絡工作人員。您可以轉至about:debugging,查看活動工作者列表,然後單擊「調試」進行附加。使用Firefox調試短期網絡工作人員

但是如果應用程序創建一個短期工作人員該怎麼辦?我想設置一個斷點,但在創建工人之前我不能這樣做。 (至少,我還沒有找到辦法,例如,用debugger statement設置斷點在Firefox 54中不起作用。)

作爲一個非常粗糙的解決方法,我可以延遲web worker的啓動通過使用setTimeout,所以我可以使用時間打開about:debugging並附加到新的工作人員。然而,這不是一個好的解決方案。

是否有一種有效的方式提前設置斷點(在工人開始之前)?

回答

1

目前,它是不可能的。至少在Firefox 54中不存在。

作爲一種解決方法,我建議修改代碼,以便Web工作人員至少在調試期間被重用。在我的具體用例中,這樣做相對容易。根據情況,可能會更困難或者甚至不可能。在這種情況下,您必須使用其他技術來調試代碼。例如,通過爲Web工作者代碼編寫測試(無論如何,這可能是個好主意)。

延遲發送消息到新創建的web worker setTimeout在理論上也是一種選擇,因爲它給你一些時間來附加調試器。這當然不是理想的,但它可以作爲最後的手段。

相關問題