一段时间后,Web Worker实例无法响应(?)

时间:2016-03-21 12:44:26

标签: javascript web-worker

我正在使用https://github.com/substack/webworkify

let outputWorker = work(require('./key-output-worker'))
this.keyOutputWorkers.push(outputWorker)
outputWorker.addEventListener('message', this.onKeyOutputWorkerMessage)
outputWorker.postMessage({action: 'makeKeyOutput', visible})

我的员工代码:

import React from 'react'
import ReactDOMServer from 'react-dom/server'

import Key from './key.jsx';

const makeKeyOutput = (model) => {
  // returns new React element
}

module.exports = function(self) {

  const onMessage = (event) => {
    if (event.data.action == 'makeKeyOutput') {
      let output = event.data.visible.map(v => ReactDOMServer.renderToString(makeKeyOutput(v))).join('')
      if (output) {
        self.postMessage(output)
      }
      self.removeEventListener('message', onMessage)
      self.close()
    }
  }

  self.addEventListener('message', onMessage)
}

我每隔〜500ms左右调用一次实例化代码。一切正常,直到我突然在Chrome的网络标签中看到这个:

enter image description here

如果我添加outputWorker.onerror回调,我只会引发错误事件,但没有真正调试的细节。

我在这里调试的最佳方法是什么?有点卡住了!

0 个答案:

没有答案