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
内容 類型 說明 message Object 主線程/Worker線程向當前線程發送的消息
Worker.postMessage
Worker.postMessage(Object message)
功能說明: 向主線程/Worker線程發送的消息。
參數: Object message,需要發送的消息。
示例代碼:
- worker線程中
jsworker.postMessage({ msg: 'hello from worker' })- 主線程中
jsconst worker = wx.createWorker('workers/request/index.js') worker.postMessage({ msg: 'hello from main' })
Worker.terminate
Worker.terminate()
- 功能說明: 結束當前Worker線程。 僅限在主線程worker對象上調用。