是否有可能在使用Isolate.spawnuri
創建的Dart隔離內使用websockets窗體?websocket和Isolate.spawnuri
我的理解是,客戶端,Isolate.spawnuri
使用WebWorkers和WebWorker不能使用dart:html
(DOM),但客戶端,websockets是dart:html
的一部分。所以這是一個不行?
THX
(這是很難測試,試圖與飛鏢編輯器來做到這一點時,我沒有得到任何錯誤或信息,在衍生分離是不可見的,並拋出沒有明顯的錯誤,它只是掛起)
這裏有一些代碼來測試這個:https://gist.github.com/kgersen/148460d056f498a849ef
您的隔離區似乎掛起,因爲您沒有捕獲實例化WebSocket時引發的對象。您必須捕獲隔離區主()內的所有拋出的對象,否則隔離區將暫停或終止。如果您想查看錯誤信息,則必須通過SendPort將其發送回主隔離區。我的測試表明,在spawnuri創建的隔離體內使用某些類會導致拋出的UnimplementedError,但在包含實例化WebSocket的DOM時拋出String(SDK 1.6)時使用。 – 2014-10-07 12:51:54
是啊addind一個捕獲給出: DOM訪問未啓用此隔離 – KGJV 2014-10-07 13:09:39