成功回调资源类操作,还是资源承诺,哪一个是第一个
success callback on resource class action, or on resources promise, which is first?
想象一下
var resource = resourceClass.get(function(data){
console.log("red");
console.log(data);
});
resource.$promise.then(function(data){
console.log("green");
console.log(data);
});
以下哪个成功回调将首先执行,红色还是绿色?它会一直都一样吗?
好吧。ngResource .get
调用在内部执行:
Resource[name] = function (a1, a2, a3, a4) {
var params = {}, data, success, error;
...
var promise = $http(httpConfig).then(function (response) {
...
promise = promise.then(function (response) {
var value = responseInterceptor(response);
(success || noop)(value, response.headers);
return value;
},responseErrorInterceptor)
value.$promise = promise;
return value;
这意味着,基本上,成功回调将始终在$promise .then
之前运行。然而,这是实现的细节,如果我是你,我不会依赖它。
承诺本身是连锁的,所以你可以做:
resource.$promise.then(function(data){
console.log("green");
console.log(data);
return data;
}).then(function(data){
console.log("foo",data);
});
相关文章:
- 我的职位回报太快了,如何做出承诺
- 打破承诺链的好方法是什么
- 从函数返回角度承诺
- 我怎样才能获得承诺的价值
- 延期承诺值未更新/解析/延期
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- WebResources嵌入式资源和Javascript如何在另一个嵌入式资源中使用它们
- 在承诺链中处理早期回报的最佳方式
- 如何在构建node-webkit应用程序后获取外部资源
- ADF:有条件地加载javascript资源
- Javascript嵌入式图像资源
- angular:有承诺的集中资源工厂
- 对AngularJS资源保存动作的承诺
- 如何使用bluebird处理被拒绝的承诺中的资源
- 如何在复杂的资源加载序列中正确链化承诺
- Angular资源保存承诺
- 我如何使用资源对象(通过承诺)与D3
- Angular'的资源承诺在加载数据时不会重新渲染
- 成功回调资源类操作,还是资源承诺,哪一个是第一个
- 在 AngularJS 中使用承诺的多个资源调用