Когда лучше всего прекратить работу веб-работника в vuejs? - PullRequest
0 голосов
/ 23 апреля 2020

Я использую веб-работника с vuejs для выполнения некоторых сложных вычислений. У меня есть два способа уволить работников.

  1. In beforeDestroy lifestyle
export default {
  beforeDestroy() {
    this.worker && this.worker.terminate()
  },
  watch: {
    data(data) {
      if (!this.worker) {
        this.worker = new Worker('worker_url')
        this.worker.addEventListener('message', () => {
          // do something
        })
      }
      this.worker.postMessage(data)
    }
  }
}
После получения сообщения
export default {
  watch: {
    data(data) {
      const worker = new Worker('url')
      worker.addEventListener('message', () => {
        // do something
        worker.terminate()
      })
      worker.postMessage(data)
    }
  }
}

И, в этом примере, работник создает поток и продолжает до вызова метода terminate.

Я хочу знать, какой метод лучше и почему.

Спасибо.

...