Skip to content

Instantly share code, notes, and snippets.

@jondthompson
Created October 24, 2015 23:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jondthompson/1cdbe5304b894aa8cae2 to your computer and use it in GitHub Desktop.
Save jondthompson/1cdbe5304b894aa8cae2 to your computer and use it in GitHub Desktop.
issue in iron-chrome-storage
.controller( 'HomeCtrl', function HomeController( $scope, $firebaseArray, $firebaseObject, chromeStorage ) {
var ref;
Firebase.INTERNAL.forceWebSockets();
var storage;
chromeStorage.getOrElse('storage', function() {
var keyValue = {
path: 'demo',
key: 'unknown'
};
return keyValue;
}).then(function(keyValue) {
// do something with the key value
storage = keyValue;
ref = new Firebase("https://.../"+ storage.path);
// download the data into a local object
$scope.floors = $firebaseArray(ref.child('floors'));
$scope.building= $firebaseObject(ref);
$scope.format = 'M/d/yy h:mm a ';
});
})
@jondthompson
Copy link
Author

I get this error... Error in response to storage.get: TypeError: fallback(...).then is not a function
at Object.callback (chrome-extension://gjjhbgjngmblflbkbafgpddlhpmodifk/vendor/iron-chrome-storage/iron-chrome-storage.js:115:22)
at Object.getOrElse (chrome-extension://gjjhbgjngmblflbkbafgpddlhpmodifk/vendor/iron-chrome-storage/iron-chrome-storage.js:110:14)
at new HomeController (chrome-extension://gjjhbgjngmblflbkbafgpddlhpmodifk/src/app/home/home.js:42:20)
at invoke (chrome-extension://gjjhbgjngmblflbkbafgpddlhpmodifk/vendor/angular/angular.js:4478:17)
at Object.instantiate (chrome-extension://gjjhbgjngmblflbkbafgpddlhpmodifk/vendor/angular/angular.js:4486:27)
at chrome-extension://gjjhbgjngmblflbkbafgpddlhpmodifk/vendor/angular/angular.js:9151:28
at chrome-extension://gjjhbgjngmblflbkbafgpddlhpmodifk/vendor/angular-ui-router/release/angular-ui-router.js:3897:28
at invokeLinkFn (chrome-extension://gjjhbgjngmblflbkbafgpddlhpmodifk/vendor/angular/angular.js:8789:9)
handler @ extensions::uncaught_exception_handler:8
exports.handle @ extensions::uncaught_exception_handler:100
safeCallbackApply @ extensions::sendRequest:23
handleResponse @ extensions::sendRequest:72

@jondthompson
Copy link
Author

Here's how I got around it.

.controller( 'HomeCtrl', function HomeController( $scope, $firebaseArray, $firebaseObject, chromeStorage ) {
     var ref;
     Firebase.INTERNAL.forceWebSockets();
     chromeStorage.get('storage').then(function(result){
      if(result)
      {
        console.log('Chrome storage retrieved');
        console.log(result);
        storage = result;

     }else{
      console.log('Setting Chrome Storage');
      storage = {
          path: 'demo',
          key: 'unknown'
        };
      chromeStorage.set('storage',storage);
     }


    ref = new Firebase("https://.../"+ storage.path);
  // download the data into a local object
  $scope.floors = $firebaseArray(ref.child('floors'));
  $scope.building= $firebaseObject(ref);
     }); 
  $scope.format = 'M/d/yy h:mm a ';
})

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment