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

网站SEO做点提升流量象客公司网站制作公司排名

网站SEO做点提升流量象客,公司网站制作公司排名,网站app开发公司,青岛全网营销推广某些需求接口是并发处理,多个接口一并触发,这种一般通过 Promise.all 处理,但是有时候需要链式触发,也就是后一个根据前一个结果处理 所以就有了下面这个代码 /*** 链式触发器的配置选项* property {number} [timeout] - 超时时…

某些需求接口是并发处理,多个接口一并触发,这种一般通过 Promise.all 处理,但是有时候需要链式触发,也就是后一个根据前一个结果处理

所以就有了下面这个代码

/*** 链式触发器的配置选项* @property {number} [timeout] - 超时时间(毫秒),默认5000ms* @property {(result: any, index: number) => Promise<any>} [middleware] - 中间件函数,用于处理每个promise的结果*/
type ChainTriggerOptions = {timeout?: number;middleware?: (result: any, index: number) => Promise<any>;
};/*** 链式触发器 - 顺序执行一组异步函数,支持中间件处理和超时控制* @template T - 异步函数数组类型* @param {T} promises - 要顺序执行的异步函数数组* @param {ChainTriggerOptions} [options] - 配置选项* @returns {Promise<Array<Awaited<ReturnType<T[number]>>>>} - 返回所有异步函数结果的数组* @example* // 基本用法* chainTrigger([*   () => fetch('/api/data1'),*   () => fetch('/api/data2'),*   () => fetch('/api/data3')* ]).then(results => {*   console.log(results); // [data1, data2, data3]* });** @example* // 带中间件和超时的用法* chainTrigger([*   () => fetch('/api/user'),*   () => fetch('/api/orders')* ], {*   timeout: 10000,*   middleware: async (result, index) => {*     if (index === 0) {*       return { ...result, processed: true };*     }*     return result;*   }* });*/
export const chainTrigger = <T extends Array<() => Promise<any>>>(promises: T,options?: ChainTriggerOptions
): Promise<Array<Awaited<ReturnType<T[number]>>>> => {const { timeout = 5000, middleware } = options || {};return new Promise((resolve, reject) => {const results: any[] = [];let currentIndex = 0;let isTimedOut = false;const timer =timeout > 0? setTimeout(() => {isTimedOut = true;reject(new Error(`Chain trigger timed out after ${timeout}ms`));}, timeout): null;const executeNext = async () => {if (currentIndex >= promises.length || isTimedOut) {timer && clearTimeout(timer);resolve(results as Array<Awaited<ReturnType<T[number]>>>);return;}try {const promise = promises[currentIndex];let result = await promise();if (middleware) {result = await middleware(result, currentIndex);}results.push(result);currentIndex++;executeNext();} catch (error) {timer && clearTimeout(timer);reject(error);}};executeNext();});
};

可以根据示例直接使用,简洁简单


文章转载自:

http://2kHbqRRj.ypmqy.cn
http://5nk94gkL.ypmqy.cn
http://3Ayv4xcb.ypmqy.cn
http://TnmfXMUW.ypmqy.cn
http://FfPkqoII.ypmqy.cn
http://2nc1BCSr.ypmqy.cn
http://ZNUYGkDp.ypmqy.cn
http://oUuPDMaC.ypmqy.cn
http://lgBm12RR.ypmqy.cn
http://67TtFRaN.ypmqy.cn
http://a9lp137w.ypmqy.cn
http://CIS50TPU.ypmqy.cn
http://AAHrd05D.ypmqy.cn
http://7Dghg0fG.ypmqy.cn
http://04OzvmoL.ypmqy.cn
http://b4lnMEOK.ypmqy.cn
http://cUws5iJU.ypmqy.cn
http://jmlIwbIv.ypmqy.cn
http://PU0Sz9A3.ypmqy.cn
http://hzmpR0yB.ypmqy.cn
http://a8BkWKSk.ypmqy.cn
http://z9Nz0ODZ.ypmqy.cn
http://lSbv5o6W.ypmqy.cn
http://9VCOKzFM.ypmqy.cn
http://D943zPvK.ypmqy.cn
http://9LzlGZNw.ypmqy.cn
http://YkfdY5Ft.ypmqy.cn
http://q2i3nCWo.ypmqy.cn
http://jPak8cxD.ypmqy.cn
http://MZnq0YaV.ypmqy.cn
http://www.dtcms.com/wzjs/640549.html

相关文章:

  • 上海网站设计公司排行榜wordpress表单数据前台显示
  • 中山做百度网站的公司名称定制网站设计方案
  • 查找邮箱注册过的网站巩义网站建设方案表
  • 网站建设中出现的问问题网站制作厂家有哪些
  • 合肥外贸网站建设c 做网站
  • 网站建设的业务员不同类型网站
  • 网站怎么做下拉刷新页面数据上海网站开发的公司
  • 国内美食网站欣赏中石化胜利建设工程有限公司网站
  • wordpress functions.php 修改南京seo圈子
  • 山东阳信建设局网站海外网站加速
  • 手机与pc的网站开发怎么开发一款游戏
  • 无限成都成都市广播电视台官方网站老年夫妻做爰视频网站
  • 官方网站建设怎么样企业网站建设设计
  • 做直播网站赚钱吗做网站一般做几个尺寸
  • 律师网站建设推荐wordpress商城 微信支付宝
  • 北京的制作网站的公司有哪些什么网站可以做电子画册
  • 自己电脑做网站 带宽服装定制前景
  • 织梦网站开发视频教程wordpress首页图片不显示
  • 博客网站素材人力资源公司怎么找客户
  • 百度不收录什么网站如何制作视频
  • 四团网站建设网站建设公司巨头
  • 网站页脚内容赣州网站制作找哪家好
  • hanchengkeji杭州网站建设页面开发
  • 安卓网站开发wordpress 动画主题
  • 全企网建站怎么样小公司网络组建
  • 网站域名怎样选择功能型网站建设时间
  • 温州自助建站公司移动端网站开发视频
  • 永康建设投标网站北京高端网站设计
  • 盐城网盐城网站建设站建设安徽龙山建设网站
  • 为什么做的网站别的浏览器打不开怎么回事各大网站发布信息