我试图建立一个数据服务正在使用breezeJS我的角度应用。 我解决我的诺言之后,我不能让我的控制器以文件的。那么。 我在我的数据业务通过的微风中获取数据从我的数据库了。 我可以传回微风希望,但是我希望能够使用$ q.all当我所有的数据已被发现就知道了。
在我controller`
ProApp.controller( 'caseInfoController',功能caseInfoController($范围,$日志,$超时,caseDataService){
/***initialize data ***/
// initializeApp();
ATPinitializeApp();
function ATPinitializeApp() {
$scope.MyStateList= caseDataService.getAllStates()
.then(function assignStates(data) {
$log.info("THIS THEN WILL NOT FIRE");
});
}
`
以上来自数据服务的承诺被满足时,则不会触发。
ProApp.factory('caseDataService', function ($log, $q)
{
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
var servicename = "http://localhost:60882/breeze/SPLBreeze";
var manager = new breeze.EntityManager(servicename);
var caseDataService =
{
getAllStates: getAllStates,
};
return caseDataService;
/*** implementation details ***/
function getAllStates()
{
var myStatePromise = $q.defer();
var query = breeze.EntityQuery
.from("state");
manager.executeQuery(query)
.then(function (data) {
$timeout(function () { myStatePromise.resolve(data); }, 200);;
});
return myStatePromise.promise;
};
任何帮助将不胜感激。 我敢肯定不是100%,如果我有$ Q承诺正确设置。 最后,我想用一个$ q.all以确定各种承诺的阵列已经被解决,这样我就可以更新信息给用户。 我一直在读,我需要使用超时来获得角度认识到,改变在未来的事件循环发生。