【发布时间】:2016-02-18 10:44:18
【问题描述】:
我编写了我的自定义 AngularJS 过滤器,它应该将 id 转换为 name,它将从 IndexedDb 中获取。 我写了这个过滤器:
cardsList.filter('getCollectionName', ['IndexedDb', function(IndexedDb) {
return function(idCollection) {
var val = 'not';
IndexedDb.getById(IndexedDb.STORES.COLLECTION_STORE, idCollection).then(function(data) {
val = data.name; //here dont work return data.name;
}, function(err){
$window.alert(err);
});
return val; // here is still 'not'
}; }]);
所以我有属性 val,我想用 id 的集合名称来设置它。但它的返回初始值'不是'。 我知道内部调用是不可见的属性 val。但返回 data.name;内部成功回调不起作用。 我查看了How do I return the response from an asynchronous call?,但我不明白如何解决我的问题。 如何解决此问题,以便函数从回调中返回 data.name?谢谢
【问题讨论】:
标签: javascript angularjs asynchronous return-value indexeddb