gar*_*ryx 13 promise angularjs
我想知道下面两个有区别吗?
aPromiseObj.then(fn1).then(fn2).catch(fn3);aPromiseObj.then(fn1); aPromiseObj.then(fn2); aPromiseObj.catch(fn3);工作流程会改变吗?
ps:我处于有条不紊的环境中,尽管我想从更广泛的角度来思考这个问题.
jfr*_*d00 31
你问过"链接"和"分支".
假设f1并f2表示返回promises的异步操作,是的,存在显着差异.对于选项1:
fn1,fn2因此fn2在返回的promise之后才会被调用fn1. .catch()适用于fn1或中的错误fn2fn2如果fn1拒绝,将不会被调用.对于选项2:
fn2不等待fn1解决. fn2只要fn1返回类似于,就会调用fn1(); fn2();.这意味着异步操作由同时启动fn1并且fn2将同时进行(有时称为并行运行而不是串行运行)..catch()都不适用,因为它不在任何一个.then()调用创建的promise上.fn1并fn2将于要么不管错误的调用.另一个相关的问题/答案:理解javascript承诺; 堆叠和链接
| 归档时间: |
|
| 查看次数: |
6127 次 |
| 最近记录: |