编程语言
首页 > 编程语言> > 如何使用angular和JavaScript承诺返回一些数据?

如何使用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