javascript-多个角度的then()函数
作者:互联网
有时,我在AngularJs中的promise then()内部看到两个以上的函数用逗号分隔.这里有人可以帮助解释结构的含义吗?
例如
then(function(response){..}, function(response){..}, function(response){..}, function(response){..});
我知道,如果then()内部有两个函数.如果第一个函数履行了承诺,那么它将运行,否则,如果发生任何错误,第二个函数将运行.这种结构也不像链式承诺…
非常感谢您的帮助:-)
解决方法:
好:
>第一个函数是实现处理程序,它将在promise解析为一个值(通常)时执行.
>第二个功能是拒绝处理程序,它将在承诺通过拒绝(或在处理程序中引发异常)而解决错误时执行.
>第三个功能是不断进步的功能,这是一项非标准且已弃用的功能,永远不会成为ECMAScript承诺的一部分-最好完全避免使用它,因为它的结构不佳. Angular的新$q API也不支持它.
>传入的第三个函数之后的任何内容都将被处理程序忽略,并且将无效.
这是所有三个被调用的示例:
var good = $q.when(3);
good.then(x => console.log("Successful"));
var bad = $q.reject(Error("Bad")); // always reject with errors
bad.then(null, x => console.log("Failed"));
var d = $q.defer(); // don't do this like... ever
d.promise.then(null, null, x => console.log("Progressed"));
d.notify("event notification"); // never use this in real code ;)
标签:angularjs,promise,javascript,angular-promise 来源: https://codeday.me/bug/20191119/2037294.html