// }) // promise支持链式调用(以此来按顺序读取文件): // thenFS.readFile('./file/1.txt','utf8').then((r1)=>{ // console.log(r1); // return thenFS.readFile('./file/2.txt','utf8'); // }).then((r2)=>{ // console.log(r2); // thenFS.readFile('file/3.txt','utf8'); // }).then((r3)=>{ // console.log(r3); // }) // 5. 通过.catch()捕获其之前错误: // thenFS.readFile('./file/1.txt','utf8').then((r1)=>{ // console.log(r1); // return thenFS.readFile('./file/2.txt','utf8'); // }) // .catch(err=>{ // console.log(err.message); // }) // .then((r2)=>{ // console.log(r2); // thenFS.readFile('file/3.txt','utf8'); // }).then((r3)=>{ // console.log(r3); // }) // 6.promise.all方法()发起并行的异步操作,等所有异步操作全结束后才会执行.then()操作 // const promiseArr=[ // thenFS.readFile('./file/1.txt','utf8'), // thenFS.readFile('./file/2.txt','utf8'), // thenFS.readFile('./file/3.txt','utf8'), // ] // Promise.all(promiseArr).then(result=>{ // console.log(result); // }) // ['111','222','333'] // 7.promise.race()方法只要任何一个异步操作完成,就立即执行下一个.then()操作 // Promise.race(promiseArr).then(result=>{ // console.log(result); // })
// 8.自定义getFile方法: import fs from 'fs'
function getFile(fpath){ return new Promise(function(resolve,reject){ //function()里是一个具体的异步操作 fs.readFile(fpath,'utf8',(err,dataStr)=>{ if(err) return reject(err); resolve(dataStr); }) }) }
getFile('./file/1.txt').then((r1)=>{console.log(r1);},(err)=>{console.log(err,message);})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。