1.forEach只能处理同步的代码

希望4,9,16每隔一秒显示,使用forEach实际为同时显示

  1. <script>
  2. function muti(num){
  3. return new Promise((resolve,reject)=>{
  4. setTimeout(()=>{
  5. resolve(num*num)
  6. },1000)
  7. })
  8. }
  9. var arr = [2,3,4];
  10. (async()=>{
  11. arr.forEach(async(item)=>{ //forEach只能处理同步的代码,是一个同步的循环
  12. var res = await muti(item)
  13. console.log(res)
  14. })
  15. })();
  16. </script>

2.for…of方法

支持异步循环

实现效果:4,9,16每隔一秒显示

  1. function muti(num){
  2. return new Promise((resolve,reject)=>{
  3. setTimeout(()=>{
  4. resolve(num*num)
  5. },1000)
  6. })
  7. }
  8. var arr= [2,3,4];
  9. (async()=>{
  10. for(let value of arr){
  11. let res = await muti(value)
  12. console.log(res)
  13. }
  14. })();

本文来自

WeChatDevelopment

关注
精品推荐

HTML/CSS

学习笔记
关注
精品推荐

web配置项

关注