专栏名称: 程序员成长指北
专注 Node.js 技术栈分享,从 前端 到 Node.js 再到 后端数据库,祝您成为优秀的高级 Node.js 全栈工程师。一个有趣的且乐于分享的人。座右铭:今天未完成的,明天更不会完成。
今天看啥  ›  专栏  ›  程序员成长指北

面试官:来, 实现一个基于promise的请求重试吧

程序员成长指北  · 公众号  ·  · 2024-08-27 08:54
    

文章预览

大厂技术    高级前端    Node进阶 点击上方  程序员成长指北 ,关注公众号 回复 1 ,加入高级Node交流群 背景 实现一个函数 实现一个重试功能,当异步任务失败时,等待N秒后会自动重试直到成功或达到最大重试次数。 const  query =  ()  =>  {      return  fetch(          'https://api.juejin.cn/user_api/v1/user/dynamic?user_id=3649990025815853 =0 =2608 =7387740407814587904 =0' ,     ); }; 代码实现 /**  *  *  @param  task  返回一个promise的异步任务  *  @param  count 需要重试的次数  *  @param  time  每次重试间隔多久  *  @returns  返回一个新promise  */ const  retry =  ( task, count =  5 , time =  3  *  1000 ) =>  {      return   new   Promise ( ( _res, _rej ) =>  {          let  doneCount =  0 ;          const  run =  ()  =>  {             task()                 .then( d ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览