diff --git a/lib/browser/modules/drive-scanner.js b/lib/browser/modules/drive-scanner.js index 19b6beed..ea44cdbc 100644 --- a/lib/browser/modules/drive-scanner.js +++ b/lib/browser/modules/drive-scanner.js @@ -25,7 +25,9 @@ const _ = require('lodash'); const EventEmitter = require('events').EventEmitter; const drivelist = require('drivelist'); -const driveScanner = angular.module('Etcher.drive-scanner', []); +const driveScanner = angular.module('Etcher.drive-scanner', [ + require('angular-q-promisify') +]); driveScanner.service('DriveScannerService', function($q, $interval, $timeout) { let self = this; @@ -90,19 +92,11 @@ driveScanner.service('DriveScannerService', function($q, $interval, $timeout) { * }); */ this.scan = function() { - var deferred = $q.defer(); - - drivelist.list(function(error, drives) { - if (error) { - return deferred.reject(error); - } - - return deferred.resolve(_.filter(drives, function(drive) { + return $q.promisify(drivelist.list)().then(function(drives) { + return _.filter(drives, function(drive) { return !drive.system; - })); + }); }); - - return deferred.promise; }; /** diff --git a/package.json b/package.json index 02c9a746..ec0f9d85 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ }, "dependencies": { "angular": "^1.5.3", + "angular-q-promisify": "^1.1.0", "angular-ui-bootstrap": "^1.2.5", "angular-ui-router": "^0.2.18", "bluebird": "^3.0.5",