gpt4 book ai didi

javascript - 资源类操作或资源 promise 的成功回调,哪个是第一个?

转载 作者:行者123 更新时间:2023-11-28 01:19:57 26 4
gpt4 key购买 nike

想象一下如下

var资源=resourceClass.get(函数(数据){
console.log(“红色”);
控制台.log(数据);
});

资源。$promise.then(函数(数据){
console.log(“绿色”);
控制台.log(数据);
});

这些成功回调中的哪一个将首先执行,红色还是绿色?会一直一样吗?

最佳答案

嗯。一个ngResource .get call内部做了:

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 之前运行。然而,这是实现细节,如果我是你,我就不会依赖它。

promise 本身是链式的,所以你可以做到:

resource.$promise.then(function(data){
console.log("green");
console.log(data);
return data;
}).then(function(data){
console.log("foo",data);
});

关于javascript - 资源类操作或资源 promise 的成功回调,哪个是第一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23367017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com