1.Promise是一个构造函数,可以用newPromise()构造一个Promise实例;2、Promise上有两个函数,resolve(成功后的回调函数)和reject(失败后的回调函数);3、在Promise构造函数的原型上有一个.then()方法,只要构造Promise函数即可;4.newPromise()表示异步操作;4.1状态1:异步执行成功,调用resolve函数;4.2状态2:异步执行失败,调用并拒绝函数;4.3运行结果不能使用return返回给调用者,只能使用回调函数的形式返回给调用者;5.以上代码######要求:给路径,读取文件//具体的异步操作//新实例执行时,function中的function方法会立即执行//promise放在方法中并且按需执行constfs=required('fs')functiongetFileByPath(fpath){varpromise=newPromise(function(resolve,reject){//toDosomethingfs.readFile(fpath,'utf-8',(err,dataStr)=>{if(err)returnreject(err)//失败回调resolve(dataStr)//成功回调})});returnpromise//returnout}//解决回调地狱问题,先读文件1,再读文件2,再读文件3,不需要嵌套到函数中,//可以return,返回一个新的Promise实例getFileByPath('/files/1.txt').then(function(data){console.log(data)returngetFileByPath('/files/2.txt')}).then(function(data){console.log(data)返回getFileByPath('/files/3.txt')}).then(function(data){console.log(data)}).catch(function(err){//捕获错误并输出错误信息console.log(err.message)})`
