async await基本使用
//——《ES6经典入门到进阶》牧码人-Strive 学习笔记
//express示例 const fs = require('fs'); //简单封装 fs封装成一个promise const readFile = function (fileName){ return new Promise((resolve, reject) =>{ fs.readFile(fileName, (err, data) =>{ if(err) reject(err); resolve(data); }); }); } //有数据依赖关系: async function fn(){ //捕获可能错误,读文件、网络请求等异步操作都可能返回错误,如不捕获,会中断后续执行 try{ let f1 = await readFile('data/a.txt'); let f2 = await readFile('data/b.txt'); let f3 = await readFile('data/c.txt'); }catch(err){ console.log(err); } } fn(); //没有数据依赖关系: async function fn(){ try{ let [a,b,c] = await Promise.all([ readFile('data/a.txt'), readFile('data/b.txt'), readFile('data/c.txt'), ]); }catch(err){ console.log(err); } } fn();