手机版

如何使用微信小程序基础教程中的工作线程

时间:2021-08-21 来源:互联网 编辑:宝哥软件园 浏览:

前言

众所周知,js是单线程的,有时不方便处理一些密集的计算或高延迟。而且cpu是多核的,单线程无法充分发挥计算机的计算能力。正是基于这种情况,工人诞生了。因为微信小程序的官方教程比较难懂.本文主要介绍worker在小程序中的使用。

对工人的一些描述

本文主要在小程序中使用worker,因为描述部分也与小程序有关。

1.主线程通过消息与工作线程通信,主线程不能直接调用工作线程中的函数

2.使用wx系列的api不能在工作线程中使用。

步骤描述

在小程序中,worker的使用主要分为三个步骤(根据我个人的划分),分别是:主线程中的配置、创建、调用和销毁,以及worker线程中的实现。

步骤1:配置

在app.json中配置worker目录,如下图所示(具体需要一一对应自己的目录)

步骤2:在主线程中创建调用并销毁

这一步需要注意的是,绝对路径是在创建时填写的,其他的基本没有问题。例如,在下面的代码中,我们创建了一个工作线程,并向它发送了一个对象,其中x=10,y=2。然后,当从工作线程接收到消息时,将其打印出来。

//welcome.js onLoad:函数(选项){ const worker=wx . createworker('/worker/my worker . js ');worker.postMessage({ x : 10,y : 2 });worker . on message(function(RES){ console . log('这是由主线程打印的')console . log(RES)});},在工作线程中实现

事实上,默认情况下,一个名为worker的对象被注入到worker中,可以调用它来直接监控和发送消息。比如下面的代码:

//my worker . jsworker . on message(function(RES){ console . log('这是由工作线程的内部线程打印的')console . log(RES)let sum=add(RES . x,RES . y);worker . postmessage({ sum : sum })});函数add(x,y){ return x y;}按如下方式打印代码:

摘要

工人就是这么用的。一般来说,我们会把计算密集、延迟高的代码片段放进去,剩下的直接在主线程中执行。

好了,这就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。

版权声明:如何使用微信小程序基础教程中的工作线程是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。