您的
{ responseStatus: x }对象仅出于流控制的目的而存在,可以自然地由; 返回的promise 的 成功路径 和 _错误路径_提供
fn()。
同样,有了promise,就没有必要将回调传递给
fn()它了-实际上,这样做是一种不好的做法。
所以首先
- 清除
callback
全部通过 - 从每个底层函数返回一个承诺
- 简化成功链接
- 清除不必要的错误处理程序
function fn() { return fn1().then(call1); } function call1() { return fn2().then(call2); } function call2() { return fn3().then(lastfunction); } function fn1() { //some pre that returns a promise } function fn2() { //some pre that returns a promise } function fn3() { //some pre that returns a promise }
然后,调用如下:
fn().then(function(response) { // success callback (your "200" condition) // show output; }).catch(function(error) { // error callback (your "500" condition) // show error; });
该
response变种会被任何
lastfunction()交付。如果你想你的问题
response是什么是带来了一些聚集
fn1(),
fn2(),
fn3()不是由已经交付
lastfunction()。这个问题在这里得到了全面解决。
该
errorVAR将是第一个
Error在执行的过程中发生
fn(),没有信息丢失;
error.message和
error.status(如果存在)可以读取/显示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)