gpt4 book ai didi

javascript - 如何检索 angularjs cachefactory.get 值

转载 作者:行者123 更新时间:2023-12-03 01:19:06 26 4
gpt4 key购买 nike

我将数据存储到 $cacheFactory,如下所示:

  $scope.loginCache = $cacheFactory.get('login') || $cacheFactory('login') ;
$scope.loginCache.put("smsData",$scope.smsData) ;

稍后我将通过以下方式检索它:

  $scope.loginCache = $cacheFactory.get('login') || $cacheFactory('login') ;
$scope.smsData = $scope.loginCache.get('smsData') ;

但是,我无法访问 $scope.smsData 的各个元素。将其放入 console.log 确实显示了那里的所有值,但由于某种原因我无法访问数据 - 我做错了什么?

console.log($scope.smsData) ;  // displays full object
console.log($scope.smsData.value) ; // `undefined`
console.log($scope.smsData[0]) ; // `undefined`
console.log($scope.smsData.value[0]) ; // `undefined`

console.log($scope.smsData) 输出:

Promise {$$state: {…}}
$$state:
status:1
value:Array(2)
0:{table: "smsSent", data: {…}}
1:{apiStatus: true}

最终,我尝试检索:value[0].data

最佳答案

这是因为您的 $scope.smsData 是 Promise 对象而不是 JSON 对象。你能做的是:

存储时:

$scope.loginCache = $cacheFactory.get('login') || $cacheFactory('login') ;
// first resolve the promise and then store in cache
$scope.smsData.then(function(response){
$scope.loginCache.put("smsData",response) ;
});

因此,当您从此 $cacheFactory 检索数据时,您将获得所需的对象。

关于javascript - 如何检索 angularjs cachefactory.get 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51842868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com