Javascript 向Redux操作创建者注入角度服务
有没有办法注入像Javascript 向Redux操作创建者注入角度服务,javascript,angularjs,redux,Javascript,Angularjs,Redux,有没有办法注入像$http或$q这样的角度服务,以便在Redux action创建者中使用它们?现在我用它来发出HTTP请求。将此action creator用作角度服务不适合我,因为它可以从非角度条件调用。此外,我还使用连接Angular和Redux 现在我的动作创建者看起来像这样: 导出函数fetchContentItems(){ 返回(发送)=>{ 分派(requestContentItems()); 返回axios(API_URL) 。然后({data})=>{ 调度(setConten
$http
或$q
这样的角度服务,以便在Redux action创建者中使用它们?现在我用它来发出HTTP请求。将此action creator用作角度服务不适合我,因为它可以从非角度条件调用。此外,我还使用连接Angular和Redux
现在我的动作创建者看起来像这样:
导出函数fetchContentItems(){
返回(发送)=>{
分派(requestContentItems());
返回axios(API_URL)
。然后({data})=>{
调度(setContentCount(data.count));
发送(接收内容项(数据项));
});
};
}
我之前提到过的非角度条件:
导出函数setFilterOption(选项,值){
返回(调度,获取状态)=>{
派遣({
类型:设置过滤器选项,
选项
价值
});
分派(fetchContentItems());
};
}
非常晚了,但这就是我最后要做的(ES6):
角度服务内的动作创建者:
类操作服务{
构造函数($http,$q){
这个。$http=$http;
这.$q=$q;
}
fetchRequest(){
返回{
键入:“请求”,
isFetching:真的
};
}
获取成功(结果){
返回{
键入:“请求”,
是的,
结果:结果
};
}
fetchMyResource(){
返回调度=>{
分派(this.retchRequest())
返回此。$http.get(“/my resource”)
。然后(响应=>{
返回分派(this.fetchSuccess(response));
}
}
}
}
然后在控制器中,您可以执行以下操作:
类控制器{
构造函数($ngRedux,ActionService){
这。$ngRedux=$ngRedux;
this.ActionService=ActionService;
}
getMyResource(){
this.ngRedux.dispatch(this.ActionService.fetchMyResource());
}
}
当dispach被发送到call时,您可以添加效果以发送call服务,并使用管道等待应答或错误,以及每个发送dispach的人
有什么解决方案吗?