访问 angularjs 工厂数据之外的承诺
Accessing angularjs factory data outside promise
我有一个readingService
工厂方法命名的工厂GetLastSyncTimestamp
从 Web 服务返回 DateTime,调用工厂后,我在变量$scope.lastSyncTimestamp
分配了返回日期时间,但问题出在承诺中,我可以正确获取日期时间
readingService.GetLastSyncTimestamp($scope.id).then(function(d) {
$scope.lastSyncTimestamp = d.data;
console.log($scope.lastSyncTimestamp);
});
但在承诺之外,我没有得到任何数据
readingService.GetLastSyncTimestamp($scope.id).then(function(d) {
$scope.lastSyncTimestamp = d.data;
});
console.log($scope.lastSyncTimestamp);
有没有办法在承诺之外获取数据?
创建服务
.service('DataService', function () {
var service = {};
service.defaultvalue= "1";
return service;
})
并将其注入控制器中。然后你可以在承诺中使用它,例如:
dataservice.lastSyncTimestamp = d.data;
而且外面也会工作。
例:https://github.com/leader80/angularjs-dataservice/blob/master/js/dataService.js
在此示例中:
readingService.GetLastSyncTimestamp($scope.id).then(function(d) {
$scope.lastSyncTimestamp = d.data;
});
console.log($scope.lastSyncTimestamp);
在执行console.log($scope.lastSyncTimestap);
行之前,承诺不会返回。您可以在 promise 中处理数据,也可以将您希望对数据执行的功能封装在一个函数中,然后从 promise 中调用该函数。
相关文章:
- $http中的Angular 1数据绑定承诺不起作用
- 如何在状态输入ui路由器时立即显示模板,然后当承诺被解决时显示数据
- 承诺和上传数据
- 访问 angularjs 工厂数据之外的承诺
- AngularFire $createUser 的承诺不返回包含用户数据的对象
- 在承诺函数从 pouchdb 填充数据之前触发 Ionic/Angular $watch的问题
- 如何在 ajax 请求中使用承诺对强制数据
- 在AngularUI路由器中访问多个承诺数据
- Angular JS承诺,JSON数据和有趣的时间
- 这是一种常见的模式吗?(返回数据而不是返回承诺)
- 通过承诺$q angularjs接收不完整的数据
- 从 Parse 承诺链返回数据
- 对没有返回数据的函数的承诺
- 角度“this”符号和来自服务的数据,带有承诺
- 蓝鸟承诺不会收到任何数据
- 角度承诺:如果可用,从缓冲区获取数据
- AngularJS-在整个应用程序中访问承诺数据
- 承诺数据在路由状态改变时不呈现
- Angular会在指令链接执行之前获取承诺数据
- 在bogart中使用承诺数据访问