Angular - 从函数返回 promise.then
Angular - returning promise.then from function
我以前从未看过 angular,我正在做一个广泛使用它的项目,我对 promise api 代码感到很困惑。
如果函数returns promise.then(我收集到的是在实现承诺时调用的函数)这是承诺函数的结果吗?当你这样做时是否有任何阻塞,因为结果不是立即可用的?
一个粗略的例子:
$scope.refreshFilters = function (filters) {
var promise;
promise = getConfig(filters);
return promise.then(function (data) {
return data.availableContent;
});
};
是否需要立即阻止对 refreshFilters 函数的调用,因为结果不是立即可用的?
正确,promise.then(...)
本身 returns 一个承诺。您可以找到 Promise A+ 规范,其中 $q 主要遵循此处:https://promisesaplus.com/
Promise 是一种处理异步工作的方式。在您的示例中,getConfig(filters)
returns 一个承诺,由 .then(...)
调用处理。 refreshFilters
returns 是一个承诺,因为 getConfig(filters).then(...)
也是 returns 一个承诺。如果 getConfig
异步执行,那么 refreshFilters
也会。
"then" return 中的 return 是一个承诺,而不是普通值,
所以
return promise.then(function (data) {
return data.availableContent;
});
};
实际上是return一个承诺。
我以前从未看过 angular,我正在做一个广泛使用它的项目,我对 promise api 代码感到很困惑。
如果函数returns promise.then(我收集到的是在实现承诺时调用的函数)这是承诺函数的结果吗?当你这样做时是否有任何阻塞,因为结果不是立即可用的?
一个粗略的例子:
$scope.refreshFilters = function (filters) {
var promise;
promise = getConfig(filters);
return promise.then(function (data) {
return data.availableContent;
});
};
是否需要立即阻止对 refreshFilters 函数的调用,因为结果不是立即可用的?
正确,promise.then(...)
本身 returns 一个承诺。您可以找到 Promise A+ 规范,其中 $q 主要遵循此处:https://promisesaplus.com/
Promise 是一种处理异步工作的方式。在您的示例中,getConfig(filters)
returns 一个承诺,由 .then(...)
调用处理。 refreshFilters
returns 是一个承诺,因为 getConfig(filters).then(...)
也是 returns 一个承诺。如果 getConfig
异步执行,那么 refreshFilters
也会。
"then" return 中的 return 是一个承诺,而不是普通值, 所以
return promise.then(function (data) {
return data.availableContent;
});
};
实际上是return一个承诺。