在RXJS 6的Reducer内部使用服务

时间:2018-07-02 10:51:19

标签: angular redux rxjs reducers ngrx-effects

在身份验证的影响下,我正在处理服务器错误:

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中重复烤面包机)吗?

0 个答案:

没有答案