第1. Promise是构造函数,可以new Promise(),构造一个Promise实例;
第2. Promise上有两个函数,resolve(成功之后回调函数)与reject(失败之后回调函数)函数;
第3. 在Promise构造函数的prototype上有个.then()方法,只要构造Promise函数后就有此方法;
第4. new Promise() 表示是一个异步操作;
4.1 状态1: 异步执行成功,调用resolve函数;
4.2 状态2: 异步执行失败,调用与reject函数;
4.3 操作结果,无法使用return返回给调用者,只能使用回调函数形式,返回给调用者;
第5
###### 需求:给路径,读取文件
//具体的异步操作
//当new实例后,会立刻执行function里的函数方法
//promise 放到方法中按需执行
const fs = required('fs')
function getFileByPath (fpath){
var promise = new Promise(function(resolve,reject){
//toDosomething
fs.readFile(fpath,'utf-8',(err,dataStr) => {
if (err) return reject(err)//失败回调
resolve(dataStr)//成功回调
})
});
return promise //return 出去
}
var p = getFileByPath('/files/2.txt')//调用方法
p.then(function(data){
console.log(data)
},function(err){
console.log(err.message)
})
`
发表回复