【愚公系列】2022年02月 微信小程序-app.json配置屬性之Worker

      網友投稿 615 2025-04-02

      一、app.json配置屬性之Worker


      我們知道js是單線程的,在有時候需要處理一些密集計算或者是高延遲的時候,總會出現不便。而且,現在的cpu都是多核的,單線程也無法充分發揮電腦的計算能力。正是基于這種情況,才有了worker的誕生。

      一些異步處理的任務,可以放置于 Worker 中運行,待運行結束后,再把結果返回到小程序主線程。Worker 運行于一個單獨的全局上下文與線程中,不能直接調用主線程的方法。

      Worker 與主線程之間的數據傳輸,雙方使用 Worker.postMessage() 來發送數據,Worker.onMessage() 來接收數據,傳輸的數據并不是直接共享,而是被復制的。

      二、配置

      1.app.json

      在app.json中配置worker目錄

      { "pages": [ "pages/index/index", "pages/logs/logs" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle": "black" }, "workers": "workers", "sitemapLocation": "sitemap.json" }

      如下圖:

      2.子線程

      【愚公系列】2022年02月 微信小程序-app.json配置屬性之Worker

      // myworker.js worker.onMessage(function(res){ console.log('這是worker內部線程打印的') console.log(res) let sum = add(res.x,res.y); worker.postMessage({ sum : sum }) }); function add(x,y){ return x+y; }

      3.主線程

      onLoad: function (options) { const worker = wx.createWorker('/workers/request/index.js'); worker.postMessage({ x : 10, y : 2 }); worker.onMessage(function(res){ console.log('這是主線程打印的') console.log(res) }); },

      4.監聽回收事件

      function createNewWorker() { const worker = wx.createWorker('workers/request/index.js', { useExperimentalWorker: true }) // 監聽worker被系統回收事件 worker.onProcessKilled(() => { // 重新創建一個worker createNewWorker() }) } // 創建實驗worker createNewWorker()

      5. 注意事項

      Worker 最大并發數量限制為 1 個,創建下一個前請用 Worker.terminate() 結束當前 Worker

      Worker 內代碼只能 require 指定 Worker 路徑內的文件,無法引用其它路徑

      Worker 的入口文件由 wx.createWorker() 時指定,開發者可動態指定Worker 入口文件

      Worker 內不支持 wx 系列的 API

      Workers 之間不支持發送消息

      Worker 目錄內只支持放置 JS 文件,其他類型的靜態文件需要放在 Worker 目錄外

      基礎庫 v2.18.1 開始支持在插件內使用 worker。相應地,插件使用worker前需要在plugin.json內配置workers代碼路徑,即一個相對插件代碼包根目錄的路徑。

      javaScript JSON 移動APP

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:wps office分頁怎么去掉
      下一篇:excel使用排序函數的方法
      相關文章
      亚洲伊人成无码综合网| 五月婷婷亚洲综合| 国产成人精品日本亚洲专区| 看亚洲a级一级毛片| 亚洲乱码国产乱码精华| 亚洲爆乳少妇无码激情| 亚洲真人无码永久在线观看| 亚洲人成电影网站色www| 亚洲国产精品99久久久久久| 亚洲中文字幕无码爆乳| 亚洲中文无码永久免| 亚洲美国产亚洲AV| 亚洲国产成人精品无码区二本| 亚洲国产成人久久精品软件| 精品国产日韩久久亚洲| 亚洲一级特黄特黄的大片| 在线观看亚洲AV每日更新无码| 亚洲中文字幕无码久久| 国产成人精品日本亚洲语音 | 老司机亚洲精品影院| 久久亚洲春色中文字幕久久久| 亚洲美女色在线欧洲美女| 91亚洲视频在线观看| 国产成人精品日本亚洲11| 亚洲一久久久久久久久| 久久亚洲精品成人无码| 亚洲国产综合精品中文字幕| 在线观看午夜亚洲一区| 亚洲va中文字幕无码久久不卡| 亚洲a在线视频视频| 亚洲欧洲日本精品| 国产成人精品日本亚洲专 | 亚洲精品国产字幕久久不卡| 亚洲成A人片在线观看无码不卡| 老色鬼久久亚洲AV综合| 国产亚洲精品VA片在线播放| 无码亚洲成a人在线观看| 精品国产亚洲一区二区在线观看 | 亚洲www77777| www亚洲一级视频com| 亚洲熟妇无码乱子AV电影|