1. 程式人生 > >js解決非同步地獄回撥

js解決非同步地獄回撥

一.promise
略。。。。。

二.generator

      * nextID(max){
           var n=0; 
           while(n<max){
               yield n;
               n++; 
           }
           return
      }
 var f= this.nextID(5);
       console.log(f.next());

在這裡插入圖片描述

  var f= this.nextID(5);
       for(var x of f){
           console.log(x);
       }

在這裡插入圖片描述
三.async/await

function timeout(ms) {
   return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
}

async function asyncPrint(value, ms) {
  await timeout(ms);
  console.log(value)
}

asyncPrint('hello world', 2000);

兩秒後列印結果:
在這裡插入圖片描述

總結了一下,現階段似乎比較推薦使用第三方法。