Skip to content

Worker

wx.CreateWorker

wx.createWorker(string scriptPath)

  • 功能說明: 創建一個Worker線程

  • 參數: string scriptPath,worker入口文件的絕對路徑

  • 返回值: worker Worker對象

  • 注意事項

    • 接口使用前需要在app.json中配置workers欄位,表示worker代碼根目錄
    • scriptPath為入口文件的絕對路徑,且不以/開頭
    • 現時限制最多只能創建一個Worker,創建下一個Worker前請先調用 Worker.terminate
  • 示例代碼:

js
// Create a regular worker
const worker = wx.createWorker('workers/index.js') // The filename specifies the path to the worker's entry file.


worker.onMessage(function (res) {
  console.log(res)
})


worker.postMessage({
  msg: 'hello worker'
})


worker.terminate()

Worker

Worker.onMessage

Worker.onMessage(function listener)

  • 功能說明: 監聽主線程/Worker線程向當前線程發送的消息的事件。
  • 參數: function listener,主線程/Worker線程向當前線程發送的消息的事件的監聽函數。
  • 參數: Object res
    内容類型說明
    messageObject主線程/Worker線程向當前線程發送的消息

Worker.postMessage

Worker.postMessage(Object message)

  • 功能說明: 向主線程/Worker線程發送的消息。

  • 參數: Object message,需要發送的消息。

  • 示例代碼:

    • worker線程中
    js
    worker.postMessage({
        msg: 'hello from worker'
    })
    • 主線程中
    js
    const worker = wx.createWorker('workers/request/index.js')
    
    worker.postMessage({
        msg: 'hello from main'
    })

Worker.terminate

Worker.terminate()

  • 功能說明: 結束當前Worker線程。 僅限在主線程worker對象上調用。