当前位置:   article > 正文

练习3_获得用户输入,无论输入内容多少,以 30 字符宽度居中输出其中最多前 10 个字符,如

获得用户输入,无论输入内容多少,以 30 字符宽度居中输出其中最多前 10 个字符,如

给出一个请求,这个请求可能失败也可能成功,如果失败了,就继续请求,如果超出最大请求次数,就不再请求,如果成功,也不再请求

promise
 const allCount = 5;
 const fetchFn = () => {
     return new Promise((resolve, reject) => {
         console.log('请求啦,嘻嘻嘻');
         setTimeout(() => {
             const n = Math.random();
             n > 0.9 ? resolve() : reject('失败');
         }, 500);
     });
 };
 const fetchNum = num => {
     if(num > allCount) {
         alert(`已经请求了${allCount}次啦,请求次数到达上限了`);
         return;
     }
     fetchFn()
         .then(res => {
             console.log('success', num);
         })
         .catch(err => {
             console.log('err', num);
             fetchNum(num+1)
         });
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
async、await
 const allCount = 5
 const fetchFn =  () => {
     return new Promise((resolve, reject) => {
         console.log('请求啦,嘻嘻嘻');
         setTimeout(() => {
             const n = Math.random()
             n > 0.9 ? resolve() : reject('失败')
         }, 500)
     })
 }
 const fetchNum = async num => {
     try {
         if(num > allCount) {
             alert(`已经请求了${allCount}次啦,请求次数到达上限了`)
             return
         }
         await fetchFn()
         console.log('success', num);
     }catch(err) {
         console.log('faild', num, err);
         await fetchNum(num+1)
     }
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号