Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向Redux操作创建者注入角度服务_Javascript_Angularjs_Redux - Fatal编程技术网

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的人


有什么解决方案吗?