async和await是ES6中新增的语法,await可以用来解决回调地狱的问题,可以将promise转为同步执行。
var p = function (num) { return new Promise((resolve, reject) => { setTimeout(() => { resolve(num++); }, 1000); }); } async function s() { var a = await p(1); var b = await p(2); var c = await p(3); console.log(a,b,c); } s();
但是用这种方式就不能直接处理错误了,这个需要用try/catch处理错误。