Promise异步编程稍微深入的理解

1.then()接收的参数是一个回调函数,那就是一个函数。

2.reject()和reslove()用于定义状态,实际上用于传递参数。上一次说过,这两个方法用于向下一个promise对象的函数传递相应的参数。

3.reslove如果reslove(value),可以向下传递一个一个值。也可以reslove(promise),同时也可以传递一个promise对象。

4.链式调用多个逻辑的时候,需要向下传递一个promise对象

5.传递的值只需在开始时定义一次,便会执行到底

下面一个用例:按照一定的顺序,异步调用多个文件,

var pro = new Promise(

(reslove,reject)=>{

fs.readFile('1.txt','utf8',(err,data)=>{

console.log(data)

reject(err)

})

reslove(pro),//定义传递的值

}).then(

(obj)=>{//obj作为入参用来接收pro

fs.readFile('3.txt','utf8',(err,data)=>{

console.log(data)

})

}).then(

(obj)=>{//这里也是接收pro

fs.readFile('2.txt','utf8',(err,data)=>{

console.log(data)

})

}).catch(

(e)=>{

throw new Error('没有这个文件!请检查!'+e)

})

有点小问题,那就是出现异常的时候,catch不能捕获。原因在找。

你可能感兴趣的:(Promise异步编程稍微深入的理解)