SOURCE

//先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 命令行工具 X clear

                    
>
console