当前位置 : 主页 > 手机开发 > ROM >

promise避免回调地狱

来源:互联网 收集:自由互联 发布时间:2021-06-10
回调函数: const fs=require(‘fs’) const path =require(‘path‘) function getFileContent(filename,callback){ const fullFileName=path.resolve(__dirname,‘files‘, )//__dirname当前文件的目录,files文件夹名称 fs.readFi

回调函数:

const fs=require(‘fs’)

const  path =require(‘path‘)

function getFileContent(filename,callback){

const fullFileName=path.resolve(__dirname,‘files‘, )//__dirname当前文件的目录,files文件夹名称

fs.readFile(fullFileName,(err,date)=>{

if(err){

console.error(err)

return

}

callback(JSON.parse(date.tostring()))

})

}

getFileContent(‘a.json‘,aDate=>{

console.log(‘a.date‘,aDate)

getFileContent(aDate.next,bData=>{

}‘)//读取a.jaon中的内容后传给下一次调用的函数的参数,

})

 

promise方式:

function getFileContent(fileName){

const promise=new Promise((resolve,reject)=>{

const fullFileName=path.resolve(__dirname,‘files‘, )//__dirname当前文件的目录,files文件夹名称

fs.readFile(fullFileName,(err,date)=>{

if(err){

reject(err)

return

}

resolve(JSON.parse(data.tostring()))

})

})

return promise

}

getFileContent(‘a.json‘).then(aData=>{

console.log(‘adata‘,aData)

return getFileContent(aData.next)

}).then(bdata=>{

console.log(‘bdata‘,bData)

})

网友评论