当前位置: 首页 > news >正文

广州安全教育平台app下载seo外贸网站建设

广州安全教育平台app下载,seo外贸网站建设,忻州网站建设培训,网站开发团队简介如何写需求背景 在开发中 有的需求往往和分页等会产生冲突 比如批量修改后又进行自定义修改 后端无法获取前置更改等 这个时候不分页数据量会很大而且需要我们对数据进行二次加工 然后需要我们进行优化处理 这就可以采取webworker多线程处理了 下面是一个没有借助react-webwo…

需求背景

在开发中 有的需求往往和分页等会产生冲突  比如批量修改后又进行自定义修改  后端无法获取前置更改等  这个时候不分页数据量会很大而且需要我们对数据进行二次加工  然后需要我们进行优化处理   这就可以采取webworker多线程处理了  下面是一个没有借助react-webworker插件的原生简单例子

实现过程

即粘即用   逻辑步骤我都写在代码注释里面了 

这是我的目录结构  worker.js为我创建的多线程处理文件   选中的为我使用的文件地址

worker.js页面

// 定义worker线程脚本代码
const workercode = () => {self.onmessage = function (e) {//e为通信传入的对象//这里写需要对数据处理加工的内容//例子const result=[]result=e.data.map(item=>item.name)//发送回去self.postMessage(result);};
};
//为了将workerCode函数转化为一个可由Worker构造函数使用的URL,将该函数转换为字符串,并从中提取函数体。接着,使用此函数体内容创建一个Blob对象,并通过URL.createObjectURL创建一个指向该Blob的URL。 把脚本代码转为string
let code = workercode.toString();
code = code.substring(code.indexOf('{') + 1, code.lastIndexOf('}'));const blob = new Blob([code], { type: 'application/javascript' });
const worker_script = URL.createObjectURL(blob);module.exports = worker_script;

使用页面

//1.引入
import worker_script from './worker.js';//2.定义
const worker = new Worker(worker_script);//3.发送数据及接收  我这边直接放入一个例子  核心内容会标注const applyData = useCallback(async (num, urlFilterLevelLists, wall) => {//开启loadingsetSpinLoading(true);try {// 获取原始数据const res = await getApplyList(cpeId);// 将数据发送到 Web Worker 处理worker.postMessage({data: res,wall,urlFilterLevelLists,num,level,});// 监听 Web Worker 的返回结果worker.onmessage = (e) => {const { processedData, idMap } = e.data;batchUpdates(() => {setExpandedRowKeys(Array.from(idMap.values()));setApplyDataSource(processedData);});};} finally {//结束loadingsetSpinLoading(false);}},[cpeId],);

注:期间在worker.js中写逻辑时  定义函数等因为闭包需要写到onmessage内    里面foreach/for in写法可能会导致报错  写成for即可   若遇到报错promise未定义等 大概率是通信没有成功

http://www.dtcms.com/a/517520.html

相关文章:

  • thinkphp8 连接pgsql数据库,报错ERROR: function table_msg(unknown) does not exist
  • 做的比较好的二手交易网站有哪些揭阳网站建设antnw
  • 怎么在百度建立公司网站厦门外贸推广
  • 注册域名之后怎么做网站毕业答辩ppt模板免费下载网站
  • 自适应网站制作公司网站建设商务合同
  • 网站界面设计的发展趋势长春网站建设公司排名前十
  • 03-Machine-3-display_and_touch.py K230外接液晶显示屏与电容触摸屏功能演示
  • 固定在网站底部核酸检测收费
  • 非盈利网站建设问题北京朝阳区楼盘
  • 做淘宝客网站制作教程视频资金盘网站开发多少钱
  • JUC 之 Lock内部组件(队列同步器、阻塞与唤醒、Condition)
  • 知识就是力量——Tkinter与PyQt的区别和优缺点
  • 免费网站大全违法网站开发人员
  • 网页设计师常用网站禁止网站采集
  • 电子商务网站上线活动策划怎么免费搭建自己的网站
  • 一键提交网站中企动力做的网站被镜像
  • 做贺卡网站泰安房地产信息网官网
  • 企业网站制作 厦门wordpress自带小工具栏
  • Chrony的时间服务
  • Langchain之Agent代理的使用
  • 中国正规官方网站有哪些中国建筑设计研究院
  • wordpress建站后发布海尔网站建设不足之处
  • 黄岩做网站公司电话物联网的核心和基础是什么
  • 10-MySQL索引
  • 点餐网站模板 手机端网站设计有哪些创新点
  • 2.单智能体强化学习
  • 可以做任务的网站多元网站
  • 网站负责人不是法人网页ui设计的内容有哪些
  • 网站建设 个人模板抽奖网站插件
  • 桌面开发,在线%智慧仓库管理%系统,基于vs2022,c#,winform,orm,sql server数据