【发布时间】:2019-08-21 16:43:12
【问题描述】:
当我在我的组件中调度我的操作时,应该触发这个 updateTour 效果。但是这个错误出现在我的浏览器控制台core.js:5847 ERROR TypeError: Cannot read property 'pipe' of null at SwitchMapSubscriber.project (updatetour.effects.ts:87)
requestHandlerService.invoke(request).pipe 导致错误。有人可以解释这里出了什么问题
updataTour$ = createEffect(() =>
this.actions$.pipe(
ofType(TourproviderAction.updateTourprovider),
switchMap((action) => {
const data = action.tourProvider;
const parameters: any = { tourProviderId: '1' };
const queryParams = new HttpParams({
fromObject: parameters
})
const options = {
params: queryParams,
headers: {
'Content-Type': 'application/json',
'Authorization': 'a5sfjdksfjksfe2f4af3673ce1a'
}
};
const request = new ServiceRequest
(environment.urls.tourProvider, 'POST', formData, options);
return this.requestHandlerService.invoke(request).pipe(
map((updateResponce) => {
const responceData = JSON.stringify(updateResponce)
return TourproviderAction.updateTourproviderSuccess({ responce: responceData });
}),
catchError(err => {
const errorMessage = JSON.stringify(err);
return of(TourproviderAction.updateTourproviderFail({ errorMessage }))
})
);
})
)
);
【问题讨论】:
-
是这个管道
requestHandlerService.invoke(request).pipe导致了错误吗? -
是的,这就是原因
标签: angular ngrx ngrx-effects