4831: Simplify promise use.
authorTom Clegg <tom@curoverse.com>
Mon, 19 Jan 2015 08:50:56 +0000 (03:50 -0500)
committerTom Clegg <tom@curoverse.com>
Mon, 19 Jan 2015 08:50:56 +0000 (03:50 -0500)
apps/backstage/app/component.arv-api-status.js
apps/backstage/node_modules/arvados/client.js

index 64e8d64a9c4fd389987402890013ef270e5b6ccb..0dff64448647f0ae4db4d520db83e8b9b54034bb 100644 (file)
@@ -15,11 +15,13 @@ function ArvApiStatusComponent(connection) {
                 vm.refresh();
             vm.dirty = false;
         };
+        vm.keepServices = m.prop();
+        vm.nodes = m.prop();
         vm.refresh = function() {
-            vm.nodes = vm.connection.api(
-                'Node', 'list', {});
-            vm.keepServices = vm.connection.api(
-                'KeepService', 'list', {});
+            vm.connection.api(
+                'KeepService', 'list', {}).then(vm.keepServices);
+            vm.connection.api(
+                'Node', 'list', {}).then(vm.nodes);
         };
         vm.logout = function() {
             vm.connection.token(undefined);
index 380384d60b5b55e5b56d03bdc3785e3b8164253f..935cd3e36fbac484f1b0d9f573300f526f5b443f 100644 (file)
@@ -93,17 +93,10 @@ function ArvadosConnection(apiPrefix) {
     // modelClass: 'Collection', 'Node', etc.
     // action: 'get', 'list', 'update', etc.
     // params: {uuid:'foo',filters:[],...}
-    // deferred (optional): deferred object for response. If not
-    // supplied, a new one is created.
-    function api(modelClass, action, params, deferred) {
-        deferred = deferred || m.deferred();
-        connection.ready.then(function() {
-            connection[modelClass][action](params).
-                then(updateStore).
-                then(deferred.resolve, deferred.reject).
-                then(m.redraw);
-        }, deferred.reject);
-        return deferred.promise;
+    function api(modelClass, action, params) {
+        return connection.ready.then(function() {
+            return connection[modelClass][action](params);
+        }).then(updateStore);
     }
 
     // Private instance variables