在身份验证的影响下,我正在处理服务器错误:
catchError((err, caught) => {
let toasterPayload = {
title: 'Error',
message: err,
conf: {}
}
return [
{
type: CoreActions.SHOW_ERROR_TOASTR,
payload: toasterPayload
},
caught
];
目标是让Observable流流动,然后调度显示烤面包机的动作。为了不在女巫catchError中重复应用程序所有效果的字符串this.toastrService.error(..,..)
,我编写了一个通用动作( SHOW_ERROR_TOASTR ):
...other cases...
case (CoreActions.SHOW_ERROR_TOASTR):
toastrService.error(action.payload.title, action.payload.message, action.payload.config);
return state;
在reducer文件的顶部,我导入了Toastr服务:
import * as toastrService from 'ngx-toastr';
但它输出以下错误:
“ typeof“ C:/ Users / myPc / projects / test / node_modules / ngx-toastr / ngx-toastr”类型上不存在属性“错误”。
如何在Reducer内部正确注入(并使用)服务?这是集中代码的一种好习惯(不要在所有catchError中重复烤面包机)吗?