第 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)
})
`