Your promise then() callback is out of the Angular digest cycle... you need
to call $scope.$apply()

2016-01-04 8:41 GMT+01:00 <[email protected]>:

> Hi Team:
>
> I created an Angular service to pull list of installed apps in Firefox OS.
> In this angular service I created Promise object to return list of apps,
> and that promise object is used with "then" method to update an object in
> $scope.
>
> Issue is: it's not updating the view first time Promise has been
> fulfilled. Please see the code below.
>
> privacyApp.factory('appList', function(){
>
>   var mozApps = window.navigator.mozApps;
>   var mozAppsMgmt = mozApps && mozApps.mgmt;
>
>   var promise = new Promise(function(resolve, reject) {
>
>
>           var req = mozAppsMgmt.getAll();
>           req.onsuccess = function success(evt) {
>             resolve(evt.target.result);
>           };
>           req.onerror = function error(evt) {
>             console.log('failed to get installed apps');
>             reject(req.error);
>           };
>
>   });
>
>   return promise;
>
> });
>
>
> I'm using Promise returned from above service in the controller of the
> page to update a variable like this:
>
> privacyApp.controller("appsController", function($scope, appList){
>
>       var appJSON = {};
>       $scope.apps = {};
>
>       appList.then(function(data){
>
>         for(var i=0;i<data.length;i++){
>
>           if(data[i].manifest.type !== "certified"){
>             appJSON[data[i].manifest.name] = data[i].manifest;
>             //appsList[data[i].manifest.name] = data[i].manifest;
>           }
>         }
>
>         $scope.apps = appJSON;
>
>       });
> });
>
> When the page is loaded first time it doesn't show anything, but it does
> show the apps list when I re-open(come back and click again) that page
> (route on angular) again.
>
> Thank you.
>
>
> _______________________________________________
> dev-fxos mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-fxos
>
_______________________________________________
dev-fxos mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-fxos

Reply via email to