/** * Created by liyinghao on 2016/11/6. */const fs = require('fs');/** 新建一个Promise对象,Promise就是一个容器,里面放置一个异步执行的API* */const p1 = new Promise((resolve, reject)=>{ fs.readFile('./a.txt','utf8',(err,data)=>{ if(err){/** 容器中异步任务失败之后调用reject方法,把错误对象传递给reject,同时终止程序的执行* */ return reject(err); }/** 容器中的异步任务成功之后调用resolve方法,把结果传递给resolve方法* */ resolve(data); })});const p2 = new Promise((resolve,reject)=>{ fs.readFile('./b.txt','utf8',(err,data)=>{ if(err){ return reject(err); }else{ resolve(data); } })});/** promise对象一经创建,立即执行,可以通过执行创建的promise对象的then方法获取resolve方法中的值,* then方法需要一个回调函数,回调函数就是resolve方法* */p1.then(data=>{ console.log(data); return p2; /* * 返回一个promise继续进行链式调用 * */}).then(data=>{ console.log(data);})/** catch方法可以把之前任务中所有可能遇到的错误都捕获到* */.catch(err=>{ throw err;});