文章预览
点击上方 前端Q ,关注公众号 回复 加群 ,加入前端Q技术交流群 背景 实现一个函数 实现一个重试功能,当异步任务失败时,等待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( data => {
………………………………