gpt4 book ai didi

javascript - 关于 Johnpapa AngularJS 异常捕获器

转载 作者:行者123 更新时间:2023-12-03 06:08:19 24 4
gpt4 key购买 nike

我读过 Johnpapa AngularJS 样式指南,它真的很有趣。但是,有一些我不明白的地方,它是异常捕获器工厂,有人能给我一个示例代码吗? https://github.com/johnpapa/generator-hottowel/blob/master/app/templates/src/client/app/blocks/exception/exception.js

这里

function catcher(message) { return function(e) {...}; }

我们如何提供 message 和 Promise (e) 参数?抱歉我的英语不好,我是法国人^^

最佳答案

它只是一个抽象,因此您不必在应用程序中的每个点都抛出异常。如果您这样做并决定更改异常消息的打印方式,则必须更改应用程序中的许多位置。有了这个工厂,您可以在一处更改它。

catcher 是一个闭包 (read here what a closure is) 。它基本上是一个返回函数的函数,然后您可以使用另一个值调用该函数。可以将其视为您正在使用消息准备捕手,然后插入应该报告的值。在他的数据服务中,您可以看到他使用捕手的方式如下:

function getPeople() {
return $http.get('/api/people')
.then(success)
.catch(fail);

...

function fail(e) {
return exception.catcher('XHR Failed for getPeople')(e);
}

利用闭包,您也可以这样做:

function getPeople() {
return $http.get('/api/people')
.then(success)
.catch(exception.catcher('XHR Failed for getPeople'));

关于javascript - 关于 Johnpapa AngularJS 异常捕获器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39431363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com