1
我在電子中使用angular.js以及node-orm與數據庫交談。節點ORM發現/獲取功能是異步,所以我試圖用承諾來獲得數據服務,像這樣:Promise in angular.js + node.js/electron不起作用
app.service('SearchService', function($q) {
this.title = function(token) {
var deferred = $q.defer();
Unit.find({}).where("unit_title LIKE ?", ['%'+token.toUpperCase()+'%']).run(function(err, results) {
if (err) {
return console.error('error running title query', err);}
deferred.resolve(results);
});
return deferred.promise;
}
});
app.controller("GreetController", function($scope, SearchService) {
$scope.units = SearchService.title('test');
});
隨着角度平移視圖本身:
<div ng-controller="GreetController">
<ul>
<li ng-repeat="unit in units">{{unit.title}}</li>
</ul>
</div>
承諾目標
但它不起作用。我知道Promises可以解決,因爲我可以將它們記錄到控制檯並使用Chromium的開發工具查看這些值。