AngularJS提供了工厂方法的成功回调
AngularJS provide success callback of a factory method
我有一个简单的工厂,在async.请求后返回一个承诺。
getUpdates: function(){
var q = $q.defer();
$http.get(...)
.success(function(data, status, headers, config) {
q.resolve(data);
})
.error(function(data, status, headers, config) {
q.reject(status);
});
return q.promise;
}
在我的控制器中,我只调用getupdate -方法并接收承诺。
var updates = factory.getUpdates();
如何提供getuupdates方法的成功/错误功能?
factory.getUpdates().success(function(promise){...}).error(function(err)...
我必须添加什么到我的getuupdates函数?
$http
服务已经返回了一个承诺,在这种情况下不需要使用$q.defer()
来创建另一个承诺。你可以这样写:
getUpdates: function () {
return $http.get(...);
}
这样success()
和error()
方法仍然可用。
或者如果你真的有理由使用$q.defer()
,请在问题中包含它。
您对then
函数处理成功与失败的承诺:
factory.getUpdates()
.then(function(value) {
// handle success
}, function(reason) {
// handle failure
});
factory.getUpdates().then(
//onSucess
function(response)
{
// ...
},
//onError
function()
{
// ...
}
);
相关文章:
- 成功回调永远不会被JSONP请求调用
- 查询后websql成功回调无法访问变量
- 在$q服务中捕获拒绝而不触发成功回调
- 如何从ajax成功回调函数中读取javascript变量
- AJAX成功回调-执行javascript时出现问题
- 当使用命名函数作为jquery ajax成功回调时,我需要括号吗
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- Yii ajaxbutton : 如何在成功回调函数中获取 $(this)
- 角承诺的“then”函数的成功回调的词汇范围是什么?
- 承诺中的成功回调不会发生$http
- Ajax成功回调仅适用于Chrome
- 将类方法绑定到类外绑定的事件处理程序内的AJAX成功回调
- 成功回调中的外部变量未正确更新
- 为什么jQuery成功回调有时有3个参数,有时只有1个
- 当通过Ajax成功回调更新可观察数组时,启用绑定中断
- 构建Ajax调用数组时,JQueryAjax成功回调不起作用
- JQuery AJAX没有't获得成功回调功能
- 如何访问作为参数发送到jquerypost的成功回调中的数据值
- 成功回调不是一个函数
- AngularJS$http.获取当时和成功回调之间的区别