您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“微信小程序開發多線程處理機制worker如何配置”,內容詳細,步驟清晰,細節處理妥當,希望這篇“微信小程序開發多線程處理機制worker如何配置”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
不少從事搭建崗的技術人員都了解過多線程問題,多線程是指從系統或者硬件上實現多個線程并發執行的技術。具有多線程能力的計算機因有硬件支持而能夠在同一時間執行多于一個線程,進而提升整體處理性能。在微信小程序中也可能有線程并發執行的階段,這時候worker可以處理開發小程序的多線程機制。
微信小程序的一些異步處理任務可放置worker中運行,原理是調用worker執行多條并行線程,待結果返回到微信小程序的主線程。當操作worker時,主線程數據被復制并通過 Worker.Message()來傳輸,其中 Worker.postMessage()是發送數據函數,Worker.onMessage()則是接收。
操作worker首先要配置worker信息,在app.js中聲明worker放置目錄,目錄下的代碼將被打包成一個文件:
{
workers: workers
}
接著在worker中添加文件,添加一個請求文件夾request和一個相應文件夾response。
workers/request/index.js
workers/request/utils.js
workers/response/index.js
添加后,目錄結構如下:
├── app.js
├── app.json
├── project.config.json
└── workers
├── request
│ ├── index.js
│ └── utils.js
└── response
└── index.js
下一步編寫 Worker 代碼
在workers/request/index.js編寫 Worker 響應代碼
var utils = require(\'./utils\')
// 在 Worker 線程執行上下文會全局設立一個 `worker` 對象,直接調用
worker.onMeesage/postMessage 即可
worker.onMessage(function (res) {
console.log(res)
})
接著在主線程中初始化Worker
在主線程的代碼 app.js 中聲明 Worker
var worker = wx.createWorker(\'workers/request/index.js\') // 文件名指定 worker
的入口文件路徑,絕對路徑
最后主線程向Worker發出數據接收請求
worker.postMessage({
msg: \'hello worker\'
})
操作worker注意事項:
Workers 之間不支持發送消息。
Worker 的入。口文件由 wx.createWorker() 時指定,搭建者可動態指定 Worker 入口文件
Worker 內代碼只能 require 指定 Worker 路徑內的文件,無法引用其它路徑。
Worker 最大并發數量束縛為 1 個,設立下一個前請用 Worker.terminate() 結束當前 Worker。
Worker 內不支持 wx 系列的 API。
讀到這里,這篇“微信小程序開發多線程處理機制worker如何配置”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。