//先npm i then-fs
// readFile就是一个promise实例
import thenfs from 'then-fs';
thenfs.readFile('a.txt','utf-8').then(res=>{console.log(res)})
thenfs.readFile('b.txt','utf-8').then(res=>{console.log(res)})
thenfs.readFile('c.txt','utf-8').then(res=>{console.log(res)})
//用promise异步读取文件
thenfs.readFile('a.txt','utf-8').then(res=>{
console.log(res);
return thenfs.readFile('b.txt','utf-8')
}).then(res=>{
console.log(res);
return thenfs.readFile('c.txt','utf-8')
}).then(res=>{
console.log(res)
console.log('over')
}).catch(err=>{
console.log(err.message)
})
//catch提前,可以避免后面的操作不进行。
//promise.all()方法——等待全部成功再执行机制
let promise1=new Promise((resolve,reject)=>{
resolve("china")
})
let promise2=new Promise((resolve,reject)=>{
resolve("zhongguo")
})
promise.all([promise1,promise2]).then(res=>{
console.log(res)
//返回数组
})
//promise.race()——赛跑机制,有一个操作完成就执行。
promise.race([promise1,promise2]).then(res=>{
console.log(res)
})
//实例封装方法
function getFile(fpath){
return new Promise((resolve,reject)=>{
fs.readFile(fpath,'utf-8',(err,dataStr)=>{
if(err){
return reject(err)
}
resolve(dataStr)
})
})
}
console