繁体   English   中英

Angular-从函数返回promise.then

[英]Angular - returning promise.then from function

我以前从没看过角度,而我正在从事一个广泛使用它的项目,我对promise api代码感到很困惑。

如果一个函数返回promise.then(当我实现promise时,我会收集这个信息)是promise函数的结果吗? 执行此操作时是否存在任何阻塞,因为结果无法立即获得?

一个简单的例子:

$scope.refreshFilters = function (filters) {
    var promise;
    promise = getConfig(filters);
    return promise.then(function (data) {
        return data.availableContent;
    });
};

因为结果不是立即可用的,是否需要立即阻塞对refreshFilters函数的调用?

正确, promise.then(...)本身返回一个promise。 您可以在以下位置找到Promise A +规范,其中$ q主要遵循: https : //promisesaplus.com/

许诺是处理异步工作的一种方式。 在您的示例中, getConfig(filters)返回一个promise,可以通过.then(...)调用进行处理。 并且refreshFilters返回一个promise,因为getConfig(filters).then(...)也返回一个promise。 如果getConfig异步执行,则refreshFilters也会执行。

“ then”内部的返回值返回一个承诺而不是原始值,因此

return promise.then(function (data) {                    
                return data.availableContent;
            });
};

实际上是在兑现承诺。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM