无烟锅网站规划与建设湘潭建网站

pingmian/2026/1/24 18:10:06/文章来源:
无烟锅网站规划与建设,湘潭建网站,网站怎么做架构,微信网页版app文章目录 前言对象配置链式调用队列调用并发执行未完待续 前言 以下都是我个人遇到的前端JS原生编码设计上的一些案例记录#xff0c;希望能帮助新手开拓写代码的思想#xff0c;并且能够结合自己的想法应用在实际的项目中#xff0c;写出更加易读#xff0c;拓展#xf… 文章目录 前言对象配置链式调用队列调用并发执行未完待续 前言 以下都是我个人遇到的前端JS原生编码设计上的一些案例记录希望能帮助新手开拓写代码的思想并且能够结合自己的想法应用在实际的项目中写出更加易读拓展维护的代码。 在其中会有一些案例展示并不是说某个写法只能用于该案例上要学会举一反三。 还有一点就是不要死记这些东西我自己也记不住叫我重写都未必能写出留有个印象就好等到某天你发现某个场景可以使用到下面的写法时再对应的拿取用。 对象配置 就是一个总函数可以通过传入的对象配置项开启函数内部的一些特定模块的处理例子如下 // 总函数 function fn(target, config {}) {// A模块处理默认开启if (config.handleA true || config.handleA undefined) {handleA()}// B模块手动开启if (config?.handleA true) {handleB()} }// handleA处理模块 function handleA(){}// handleB处理模块 function handleB(){}// ...举个使用在项目上的例子例如我封装axios的时候如果是一些简单的项目就只需要做一层封装即可然后在写接口请求方法的时候只需要 import request from /utils/request;/*** 登请求*/ export const login (data) {return request({url: /sys/login,method: POST,data,needLoading: true, // 是否有请求动画默认给truehandleErrer: false, // 是否要手动处理错误信息默认会自动报出接口错误信息// ...}); };然后在axios的请求和响应拦截器中实现对应的功能即可。 链式调用 这是我个人认为最好理解和记忆的编写方法 class _Print {// 初始化constructor() {this.queue [this.init] // 执行栈this.next()}// 初始化钩子init() {console.log(初始化钩子)// 这里要开启下一轮事件循环再执行栈中的任务保证链式调用的任务已推入setTimeout(() {this.next();}, 0)}// 同步执行print(msg) {let fn function () {console.log(msg);this.next()}this.queue.push(fn)return this}// 延迟delay(time) {let fn function () {setTimeout(() {this.next()}, time)}this.queue.push(fn)return this}// 弹出栈任务并执行next() {let fn this.queue.shift() // 这里重新定义了函数不再是指向实例了fn fn.call(this)} }new _Print().print(1).delay(3000).delay(3000).print(2)问题来了这种链式调用能用在什么场景下呢暂时没想到哈哈。 队列调用 就是把要经过的任务都推入到任务队列里然后挨个执行例子如下 function p() {let promise Promise.resolve()function fn1(result) { // 功能封装1console.log(fn1);return Promise.resolve(fn1)}function fn2(result) { // 功能封装2console.log(fn2);return Promise.resolve(fn2)}let arr [fn1, fn2]while (arr.length) {promise promise.then(arr.shift())}return promise }p(1) // fn1 fn2 轮流执行可以用在对axios进行更深入的封装可以参考我这篇文章【场景方案】如何去设计并二次封装一个好用的axios给你提供一个另类写法另加一些思考 并发执行 并发执行任务的时候我们要做好每次的并发量。一般这种并发场景都是异步请求所以必然涉及到Promise这里也就拿Promise去写示例 // 模拟100个异步请求 const arr []; for (let i 0; i 100; i) {arr.push(() new Promise((resolve) {setTimeout(() {console.log(done, i);resolve();}, 100 * i);})); };const parallelRun () {const runingTask new Map(); // 记录正在发送的异步请求闭包存储const inqueue (totalTask, max) { // 异步请求队列每组请求的最大数量// 当正在请求的任务数量小于每组请求的最大数量并且还有任务未发起时就推入请求while (runingTask.size max totalTask.length) {const newTask totalTask.shift(); // 弹出新任务const tempName totalTask.length; // 以长度命名runingTask.set(tempName, newTask);newTask().finally(() {runingTask.delete(tempName);inqueue(totalTask, max); // 每次一个任务完成后就继续塞入新任务});}}return inqueue; };parallelRun()(arr, 6);有人会问为啥不直接用all方法呢因为只要期中一个任务失败了整个队列都没用了。详细可以看【es6入门】好好捋一捋Promise与Async的异步写法细节满满 未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

夏津网站建设费用全国加盟网站大全

HTTP首部 在HTTP协议通信交互中使用的首部字段。不限于RFC2616中定义的47种首部字段,还有Cookie、setCookie和Content-Disposition等 HTTP 首部字段将定义成缓存代理和非缓存代理的行为,分成 2 种类型。端到端首部和逐跳首部

中国网站设计公司桂林山水甲天下是哪个景点

Unix网络编程是针对类Unix操作系统(包括Linux、BSD以及其他遵循POSIX标准的操作系统)进行网络通信开发的技术领域。网络编程涉及创建和管理网络连接、交换数据以及处理不同层次网络协议栈上的各种网络事件。在Unix环境中,网络编程通常涉及到以…

网站开发毕设文献网站设计说明书摘要

目录 1. 问题引入 2.死锁问题的概念和原因 3. 解决死锁问题 1. 问题引入 在学习死锁之前, 我们先观察下面的代码能否输出正确的结果: 运行程序, 能正常输出结果: 这个代码只管上看起来, 好像是有锁冲突的, 此时的 locker 对象已经是加锁的状态, 在尝试对 locker 加锁, 不应该…

如何选择网站关键词响应式网站建设公司

一、分析介绍 MoviePy是一个用于视频编辑和处理的Python库。它提供了一种简单而直观的方式来创建、编辑和合成视频,同时也支持添加音频和图像。 以下是MoviePy的一些主要功能和用法示例: 创建视频剪辑: from moviepy.editor import VideoFi…

做电影网站需要外贸展示型网页设计

近期开发一个在线坐席的功能。发现推送的消息中空格变成了 。查询发现URLEncoder.encode的问题。曾经用的时候也没注意过,解决的方法网上是对URLEncoder.encode的之后的字符串进行替换号,这样的方式假设真的有号那也被替换了。所以应该在URLEncoder.enco…

优惠劵网站怎么做walker wordpress

前言 图像经过算子处理后得到若干特征点,使用opencv进行渲染显示出这些特征点并且连线,更直观的对比处理前后的一些差异性 demo核心代码 //画出特征点并连线 void drawFilterLinePoints(cv::Mat& srcMat, cv::Point2f pointStart, cv::Point2f po…

网页游戏中心大全下载优化大师app

我们了解RobotFramework编写自动化测试用例的方法,了解如何将用例在Jenkins上运行。 但是,随着用例的增多,传统的pybot/robot命令运行测试用例会耗费大量的时间,这就慢慢成为了一个苦恼的问题。 那么,在Jenkins上如何…

蒙自市建设局网站驻马店seo

语句 // 单行注释 /* */ 多行注释 #include 头文件引入声明 #define 预先定义 return 结果返回语句(可以带参数,也可不带参数) printf(); 输出 if 条件语句 else 条件语句否定分支(和 if 连用&a…

在线阅读网站开发软件开发培训机构学费

简介: 低代码将成为B端服务领域的基础设施,必将颠覆传统开发方式,未来可期。 作者:天晟 前言 大家好,我是钉钉宜搭前端一个小团队的负责人天晟,在阿里做了五年的低代码。今天的分享我们不讲技术细节&…

如何构建网站跨境电商erp选哪个好

不知道大家还记不记得之前小编我推荐的最好用的iOS音乐播放器,如果没看过,可以点击这里。既然之前介绍了一款iOS端的音乐播放器给大家,那么今天就介绍一款iOS端十分好用的万能解码的视频播放器。使用iPhone的用户都明白,iPhone自带…

网站建设字体变色代码电商类网站有几个主流程

简介 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。 TFTP和FTP的区别 安全性区别 FTP支持登录安全&…

做微商海报的网站创意设计海报

<?php //此文件用于快速测试UTF8编码的文件是不是加了BOM&#xff0c;并可自动移除 //By Bob Shen $basedir"."; //修改此行为需要检测的目录&#xff0c;点表示当前目录 $auto1; //是否自动移除发现的BOM信息。1为是&#xff0c;0为否。 //以下不用改动 if ($dh…

企业网站建设有哪些优势青海餐饮网站建设公司

MySQL优化第二篇 性能分析小表驱动大表慢查询日志日志分析工具mysqldumpslow Show Profile进行SQL分析&#xff08;重中之重&#xff09; 七种JOIN 1、inner join &#xff1a;可以简写为join&#xff0c;表示的是交集&#xff0c;也就是两张表的共同数据 sql语句&#xff1a…

网站建设小程序开发seo推广网站开发工程师月薪平均

CSRF攻击(2), 绕过Referer防御 一. 场景: 攻击服务器: 192.168.112.202 目标服务器: 192.168.112.200说明: 1. 前端页面的功能是修改密码. 2. 将恶意页面放到202服务器上, 在目标200服务器上访问恶意页面, 目的是绕过200服务器上对CSRF的防御, 修改密码. 二. 后端防御代码: …

网站要怎样建设简单的企业网站的主页

1. 题目 实现一个带有buildDict, 以及 search方法的魔法字典。 对于buildDict方法&#xff0c;你将被给定一串不重复的单词来构建一个字典。 对于search方法&#xff0c;你将被给定一个单词&#xff0c;并且判定能否只将这个单词中一个字母换成另一个字母&#xff0c;使得所…

网站建设与维护试卷 一网站建设费应怎样做会计分录

一、效果图&#xff1a; 点击左侧地址列表&#xff0c;右侧地图跟着改变。 二、代码实现&#xff1a; 一进入页面时&#xff0c;通过body调用onLoad"onLoad()"函数&#xff0c;确保地图正常显示。 <body onLoad"onLoad()"><!--左侧代码-->…

宿迁网站制作网站空间到期提示

文章目录 什么是零拷贝3、零拷贝优化方案 - 真正的零拷贝哪些地方会用到零拷贝技术 现在来谈谈零拷贝&#xff0c;以及在开发中哪些地方使用到零拷贝。 开干… 什么是零拷贝 零拷贝指的是&#xff0c;从一个存储区域到另一个存储区域的copy任务无需CPU参与就可完成。零拷贝的底…

给别人做网站被诉侵权做网站运营的女生多吗

142-常用类与基础API-String的理解与不可变性_哔哩哔哩_bilibili 1.String 2.字符串常量池 变更储存区的原因是加快被gc的频率 比地址&#xff0c;equals比内容 3.字符串连接 s3s4都是字符串常量&#xff0c;后面几个会利用StringBuilder的toString&#xff08;&#xff09;&a…

做网站怎么查看来访ip参考消息今天新闻

这段Python代码使用了schedule库来安排一个任务&#xff0c;在每天的22:50时运行。这个任务执行一个命令来运行pytest&#xff0c;并生成一个报告。 代码开始时将job_done变量设为False&#xff0c;然后运行预定的任务。一旦任务完成&#xff0c;将job_done设置为True并跳出循…

网站建设:中企动力资阳房地产网站建设

在Go语言中进行HTTP请求时&#xff0c;http.Header对象表示HTTP请求或响应的头部信息。http.Header是一个map[string][]string类型的结构&#xff0c;用于存储键值对&#xff0c;其中键表示HTTP头字段的名称&#xff0c;值是一个字符串切片&#xff0c;可以存储多个相同名称的头…