欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2019年07月15日 10:41:34   作者:甚時躍馬歸來  
這篇文章主要給大家介紹了關于微信小程序基礎教程之worker線程的使用方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用微信小程序具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

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

worker的一些說明

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

1、主線程和worker線程之間是通過消息來通信的,主線程不能直接調(diào)用worker線程中的函數(shù)

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

步驟說明

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

步驟一:配置

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

步驟二:主線程中創(chuàng)建調(diào)用和銷毀

這一步需要注意的就是,創(chuàng)建時填寫的是絕對路徑,其他基本沒什么問題。例如以下代碼,我們創(chuàng)建了worker線程,并向其發(fā)送了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線程中實現(xiàn)

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

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

function add(x,y){
 return x+y;
}

打印代碼如下圖:

小結

worker使用方法就是這樣了,一般來說密集計算和高延遲的代碼片段我們會放入其中,其他的話在主線程直接執(zhí)行就好了。

好的,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • 談一談JS消息機制和事件機制的理解

    談一談JS消息機制和事件機制的理解

    消息/事件機制是幾乎所有開發(fā)語言都有的機制,并不是deviceone的獨創(chuàng),在某些語言稱之為消息(Event),有些地方稱之為(Message).接下來通過本文給大家介紹JS事件和消息機制的理解 ,需要的朋友一起學習吧
    2016-04-04
  • 你不知道的JS?ES6字符串標簽函數(shù)分享

    你不知道的JS?ES6字符串標簽函數(shù)分享

    字符串標簽函數(shù)是一種特殊的函數(shù)調(diào)用語法,本文將深入探討ES6中字符串標簽函數(shù)的工作原理,并結合具體的代碼展示它的威力,快跟隨小編一起學習起來吧
    2023-06-06
  • JS手寫bind之處理new的情況詳解

    JS手寫bind之處理new的情況詳解

    雖然很少會遇到給bind返回的函數(shù)做new操作的場景,但面試中還是會涉及到的,所以本文將實現(xiàn)一下兼容new操作的bind寫法,順便學習一下new操作符,需要的可以參考一下
    2022-07-07
  • 微信小程序在text文本實現(xiàn)多種字體樣式

    微信小程序在text文本實現(xiàn)多種字體樣式

    這篇文章主要介紹了微信小程序在text文本實現(xiàn)多種字體樣式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 使用cropper.js裁剪頭像的實例代碼

    使用cropper.js裁剪頭像的實例代碼

    最近小編在做一個裁剪頭像的功能,下面小編把使用cropper.js裁剪頭像的實例代碼分享到腳本之家平臺,需要朋友參考下吧
    2017-09-09
  • js判斷手機號是否正確并返回的實現(xiàn)代碼

    js判斷手機號是否正確并返回的實現(xiàn)代碼

    這篇文章主要介紹了js判斷手機號是否正確并返回的實現(xiàn)代碼,以及使用正則表達式判斷手機號是否正確,需要的的朋友參考下
    2017-01-01
  • JS寫的數(shù)字拼圖小游戲代碼[學習參考]

    JS寫的數(shù)字拼圖小游戲代碼[學習參考]

    昨天沒事做,就用JS寫了個數(shù)字拼圖的小游戲,自娛自樂。 可惜關于逆序數(shù)的問題還沒解決,現(xiàn)在有時是拼不成的,大家見諒了。
    2008-10-10
  • JavaScript逆向分析instagram登入過程

    JavaScript逆向分析instagram登入過程

    這篇文章主要介紹了JavaScript逆向分析instagram登入過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 通過JavaScript腳本復制網(wǎng)頁上的一個表格

    通過JavaScript腳本復制網(wǎng)頁上的一個表格

    通過JavaScript腳本復制網(wǎng)頁上的一個表格...
    2006-07-07
  • 微信小程序?qū)崿F(xiàn)同一頁面取值的方法分析

    微信小程序?qū)崿F(xiàn)同一頁面取值的方法分析

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)同一頁面取值的方法,結合實例形式分析了微信小程序在同一頁面取值的常見情況與具體操作技巧,需要的朋友可以參考下
    2019-04-04

最新評論