- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 AngularJS 1.1.3 来使用带有 promise 的新 $resource...
我怎样才能从中得到回调?我尝试了与 $http 相同的方式:
$resource.get('...').
success(function(data, status) {
alert(data);
}).
error(function(data, status) {
alert((status);
});
但是没有“成功”,也没有“错误”功能......
我也试过:
$resource.get({ id: 10 },function (data) {
console.log('success, got data: ', data);
}, function (err) {
alert('request failed');
});
即使返回的是 404 也总是打印“成功,获得数据” ...
有什么想法吗?
谢谢
最佳答案
截至 PR on angulars resource 和 angular 1.2,angular 将切换到执行成功/错误检查的更简单方法。 Resource.get(..) 和 instance.get() 都将支持 $promise 方法,而不是附加回调或 $then 方法,这自然会为两者返回一个 promise 。
从 Angular 1.2 开始,$promise 功能将上线:$promise changes
将您的“获取”请求更改为符合以下内容的内容(原始示例位于 angularjs.org 的首页):
factory('Project', function($resource) {
var Project = $resource('https://api.mongolab.com/api/1/databases' +
'/youraccount/collections/projects/:id',
{ apiKey: 'yourAPIKey' }, {
update: { method: 'PUT' }
}
);
Project.prototype.update = function(cb) {
return Project.update({id: this._id.$oid})
.$promise.then(
//success
function( value ){/*Do something with value*/},
//error
function( error ){/*Do something with error*/}
)
};
Project.prototype.destroy = function(cb) {
return Project.remove({id: this._id.$oid})
.$promise.then(
//success
function( value ){/*Do something with value*/},
//error
function( error ){/*Do something with error*/}
)
};
return Project;
});
您可以在 Controller 的其他地方实例化一个资源“项目”实例,您可以在其中使用相同的接口(interface)来处理成功和错误:
var myProject = new Project();
myProject.$get({id: 123}).
.$promise.then(
//success
function( value ){/*Do something with value*/},
//error
function( error ){/*Do something with error*/}
)
关于javascript - $resource 回调(错误和成功),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15531117/
我有一个经典的 ASP 页面 (VBscript),它在服务器端生成 XML,然后 Response.Writes。该页面根本没有客户端。 但是我需要将其转换为 JSON。由于我找不到有效的 ASP
我想从客户端应用程序的 HDFS 中读取特定的 SequenceFile。我可以使用 SequenceFile.Reader 来做到这一点,它工作正常。但是是否也可以通过分析抛出的 IOExcepti
我是一名优秀的程序员,十分优秀!