如何使用angular和JavaScript承诺返回一些数据?
作者:互联网
我试图从本地存储中获取一些数据,但我想在准备好之后使用日期.就像是:
// this belongs to a Helper factory
getData: function(){
var deferred = jQuery.Deferred();
setTimeout(function(){
var data = {
description: localStorageService.get('description'),
};
deferred.resolve()
}, 10);
return deferred.promise();
},
// I set it up so that in the controller I can do
// $scope.data = Helper.getData();
与我的示例类似,我只想在从localstorage获取描述后返回数据对象
我正在使用angularjs,所以我希望在解决了承诺后在我的视图中显示{{data}}.比如可能使用ng-hide或类似的东西.
无论如何,我的问题是关于建立这个承诺.
有任何想法吗?
解决方法:
好吧,$q是通常用于处理angularjs中的promise的库,因为你是从本地存储中读取的,这是一个同步操作我不知道你为什么要返回一个promise,这通常是以角度来完成的.是这样的:
getData: function(){
var deferred = $q.defer();
$timeout(function(){
var data=localStorageService.get('description'),
deferred.resolve(data);
},3000);
return deferred.promise;
}
用法:
getData().then(function(data){
console.log(data);
})
标签:javascript,angularjs,local-storage,jquery-deferred,angular-promise 来源: https://codeday.me/bug/20190612/1224835.html