是否有一种方法可以在承诺完成时独立于结果执行一些代码
Is there a way to execute some code when a promise is fulfilled, independently from the outcome?
我需要在履行承诺时执行go()
方法,即使有错误。(我正在与后端API交谈,当我有服务器响应时,我需要做一些UI工作,即使是404)。
现在我这样做:
Try.method().then(()=>{
go();
}).catch({
go();
})
有没有更好的方法来避免重复的方法调用? 无论结果是什么,都将调用finally()
回调:
Try.method().then(()=>{
go();
}).catch({
go();
}).finally({
go();
});
因为你正在使用babeljs,它似乎不支持finally()
回调,你可能会摆脱这个:
Try.method().catch(()=>{
go();
}).then({
go();
})
第一次捕获错误(如果有错误)的地方,如果没有,它将像往常一样执行.then()
。
有没有更好的方法来避免重复的方法调用?
不确定是否正确解释上述部分问题?尝试定义一个单独的.then(go, go)
链接到api调用的结束
var go = function(data) {
console.log("go", data)
};
var p = function(args, val) {
return Promise[args](val)
};
p("resolve", 1).then(go, go);
p("reject", 0).then(go, go);
如果可以使用jQuery,可以尝试使用deferred.always()
var go = function(data) {
console.log("go", data)
};
var p = function(args, val) {
return $.Deferred()[args](val)
};
p("resolve", 1).always(go);
p("reject", 0).always(go);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
相关文章:
- 将敲除绑定应用于模板,并将结果作为字符串获取
- 是否可以从独立于摄影机的three.js场景中的一个点应用雾
- 如何创建独立于数组更新的组件列表
- 点击时在元素上应用css样式,独立于父级
- 类似于使用ajax发布/打印结果
- 如何引用我网站上的文档以独立于网站位置和使用位置
- 独立于原始元素复制元素
- php 服务器端计时器 独立于客户端浏览器
- 如何使 thunks 独立于状态形状以使其可移植
- 创建独立于平台的路径字符串
- 在 Jscript 中使用 DOMDocument 的独立于浏览器的方式
- 组合来自两个独立函数的结果
- Meteor如何独立于包提供的助手使用blog_posts集合
- fs.link和fs.symlink之间有什么区别?他们是独立于平台的吗
- 单页应用程序-前端独立于后端
- JS事件独立于手指压力
- 2个SQL查询.两者独立工作.当我把它们放在一起时,第一个查询的结果变量是空的.为什么?
- 使用parse.com,我如何连接一个查询以返回两个独立查询的结果.equalTo
- Jquery组合选择的结果和一些变量's值仅适用于第一次选择更改
- 是否有一种方法可以在承诺完成时独立于结果执行一些代码