国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序基礎教程之worker線程的使用方法

2024-07-22 01:17:59
字體:
來源:轉載
供稿:網友

前言

我們知道js是單線程的,在有時候需要處理一些密集計算或者是高延遲的時候,總會出現不便。而且,現在的cpu都是多核的,單線程也無法充分發揮電腦的計算能力。正是基于這種情況,才有了worker的誕生。由于微信小程序官方的教程比較看不懂...所以本篇主要介紹一下worker在小程序中的用法。

worker的一些說明

本篇主要是在小程序中使用worker,因為說明部分也是和小程序相關。

1、主線程和worker線程之間是通過消息來通信的,主線程不能直接調用worker線程中的函數

2、worker線程中不能使用使用wx系列的api。

步驟說明

小程序中,worker用法主要分為3步(按我個人的劃分),分別是:配置、主線程中創建調用和銷毀、worker線程中實現。

步驟一:配置

在app.json中配置worker目錄,如下圖(具體需要自己一一對應目錄)

步驟二:主線程中創建調用和銷毀

這一步需要注意的就是,創建時填寫的是絕對路徑,其他基本沒什么問題。例如以下代碼,我們創建了worker線程,并向其發送了1個對象,對象中x=10和y=2。然后在接收到worker線程的消息時,打印出來。

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

worker線程中實現

worker中其實是默認注入了一個叫worker的對象,直接調用監聽消息和發送消息即可。如以下代碼:

// myworker.jsworker.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;}

打印代碼如下圖:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 徐水县| 教育| 澳门| 高清| 江口县| 易门县| 宝应县| 通州区| 永安市| 团风县| 阳山县| 平潭县| 平泉县| 武邑县| 西城区| 西畴县| 新郑市| 广平县| 思茅市| 太仆寺旗| 漾濞| 修水县| 荃湾区| 肇庆市| 西藏| 泰兴市| 宿迁市| 云霄县| 化州市| 广南县| 永顺县| 沅陵县| 贵定县| 贵港市| 来安县| 卢龙县| 衡南县| 梨树县| 封开县| 宣汉县| 连南|