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

seo整站优化技术培训上海网站制作策

seo整站优化技术培训,上海网站制作策,成都高端响应式网站开发,网站建设怎样核算在JavaScript中#xff0c;Promise是一种用于异步编程的构造函数#xff0c;它提供了更好的处理异步操作的方式#xff0c;相较于传统的回调函数更易于管理和避免回调地狱。Promise有三种状态#xff1a;Pending#xff08;进行中#xff09;、Resolved#xff08;已完成…在JavaScript中Promise是一种用于异步编程的构造函数它提供了更好的处理异步操作的方式相较于传统的回调函数更易于管理和避免回调地狱。Promise有三种状态Pending进行中、Resolved已完成、Rejected已失败。 以下是Promise的一些常见用法 Promise构造函数 new Promise((resolve, reject) {// 异步操作if (/* 成功条件 */) {resolve(value); // 当异步操作成功时调用resolve函数将Promise的状态变为Resolved并传递结果值} else if (/* 失败条件 */) {reject(error); // 当异步操作失败时调用reject函数将Promise的状态变为Rejected并传递错误原因} });resolve() resolve是Promise构造函数传入的函数之一当你确定异步操作成功时调用它使Promise状态变为Resolved并传递成功的值给后续的.then或.catch链中的回调函数。 Promise.race() Promise.race(iterable)方法接受一个Promise对象的可迭代集合如数组只要这个集合中的任何一个Promise变为Resolved或Rejected状态Promise.race就会返回的那个率先改变状态的Promise的结果无论是Resolved还是Rejected。 let p1 fetch(url1); let p2 fetch(url2);Promise.race([p1, p2]).then(response {// 第一个fetch请求完成后的响应 }, error {// 第一个fetch请求抛出的错误 });Promise.all() Promise.all(iterable)方法则是等待可迭代集合中的所有Promise全部变为Resolved状态然后返回一个新的Promise这个Promise在所有输入的Promise都变为Resolved时才会变为Resolved并且它的结果是一个数组包含了所有输入Promise的结果。 let p1 fetch(url1); let p2 fetch(url2);Promise.all([p1, p2]).then(responses {// responses是一个数组包含了两个fetch请求的结果 }, error {// 如果任何一个fetch请求失败了这里的error将是第一个失败的请求的错误 });.then() 和 .catch() promise.then(onFulfilled, onRejected)方法用于指定Promise成功或失败后的回调函数onFulfilled会在Promise被resolve时调用onRejected会在Promise被reject时调用。promise.catch(onRejected)专门用于处理Promise失败的情况相当于.then(null, onRejected)。 通过这些API开发人员可以方便地处理异步流程控制形成更加清晰和易于维护的代码。 async function runParallel(maxConcurrency, source, iteratorFn) {const ret []const executing []for (const item of source) {const p Promise.resolve().then(() iteratorFn(item, source))ret.push(p)if (maxConcurrency source.length) {const e p.then(() executing.splice(executing.indexOf(e), 1))executing.push(e)if (executing.length maxConcurrency) {await Promise.race(executing)}}}return Promise.all(ret) }这是一个实现了并发限制的异步函数名为runParallel它接受三个参数 maxConcurrency整数表示允许同时执行的任务的最大数量。source可迭代对象比如数组其中包含一系列待处理的项。iteratorFn一个迭代器函数它接受两个参数当前正在处理的项 (item) 和源数组 (source)并返回一个Promise。此函数用于执行针对每一项的操作。 函数的主要逻辑如下 初始化一个空数组ret用来存放每个任务对应的Promise。初始化一个空数组executing用来跟踪当前正在执行的任务即Promise。 接着遍历source中的每一项 创建一个Promisep在其内部调用iteratorFn函数处理当前项并立即resolve该Promise。将Promise p 添加到结果数组ret中。如果当前已执行的任务数量executing.length小于等于最大并发数maxConcurrency 当Promise p 完成时通过.then()方法从executing数组中移除自身。将Promise p 在其完成回调上添加了删除自身的逻辑加入到executing数组中。如果executing数组长度达到了maxConcurrency就等待数组中任意一个Promise完成通过Promise.race(executing)实现。 最后函数返回Promise.all(ret)这意味着它会等待所有异步任务都完成之后才返回一个Promise这个Promise在resolve时会带有所有任务的最终结果组成的数组。 总之runParallel函数是用来并发执行一系列任务的同时控制并发任务的数量不超过给定的最大并发数maxConcurrency。
http://www.zqtcl.cn/news/522962/

相关文章:

  • 域名服务器都有了怎么做网站网站开发获取用户微信号登录
  • 淮南建设公司网站企业系统工程
  • 仓山福州网站建设佛山网站制作专业公司
  • 男男做的视频网站扬中网站建设案例
  • 做钓鱼网站用哪种编程语言代理网站备案
  • 广汉有没有做网站建设公司wordpress 301插件
  • 龙岗菠菜网站建设chatgpt网页
  • 如何查看网站ftp地址四川公共资源交易网招标网
  • 家居企业网站建设机构沈阳工程信息
  • 上海好的网站设计公司wordpress 上传文件路径
  • 用微信微博网站来做睡眠经济亚马逊跨境电商开店流程及费用
  • 网络公司做的网站根目录在哪网站建设必备条件
  • 网站建设外包服务管理情况公众号 链接wordpress
  • 深圳网站建设黄浦网络 技术差做网站的怎么跑业务
  • 青岛崂山区网站建设广东企业网站建设多少钱
  • 男女做那个的小视频网站韩国儿童才艺网站建设模板
  • 餐饮品牌网站建设淮北论坛最新招聘
  • 给客户做网站网站自动适应屏幕
  • 人力资源培训与开发什么是网站优化
  • 制作 网站 盈利农村自建房设计图一层平房
  • 佛山住房和城乡建设厅网站wordpress图片外链转内链
  • 海东高端网站建设价格wordpress侧边栏淘宝客
  • 网站功能建设中页面wordpress让投稿
  • 学校网站 asp网站结构方面主要做哪些优化
  • 深圳做网站(信科网络)做网站需要多少资金
  • 做网站实例教程网站图片的作用
  • 网站建设展板营销渠道的三个类型
  • 用php做视频网站有哪些十大免费logo设计
  • 网站建设对于网络营销的意义微信购物商城
  • 基于个性化推荐的电商网站设计与实现网站 用户体验的重要性