【发布时间】:2015-11-13 06:31:18
【问题描述】:
这可能是因为我不确定如何使用 Promise,但是在我调用触发 http 调用的服务之后,在我的控制器中结果是空数组.. 为什么会这样? 我的应用设置如下:
这是 app.js
//App.js
.state('myApp.sermonlists', {
url: "/sermonlists",
views: {
'menuContent': {
templateUrl: "templates/sermonlists.html",
controller: 'SermonListsCtrl'
}
}
})
这是controller.js
//controller.js
angular.module('myApp.controllers', [])
.controller('SermonListsCtrl', function($scope, sermonListsService) {
// call sermon api
sermonListsService.getSermonLists(); // this return empty array()
})
这是 services.js
//services.js
angular.module('myApp.services', [])
.factory('sermonListsService', function($http) {
var sermon = [];
function sermonJson() {
$http.get('http://myapicall.com').then(function(resp) {
// For JSON responses, resp.data contains the result
sermon = resp.data;
}, function(err) {
console.error('ERR', err);
// err.status will contain the status code
})
}
// initializing sermonJson call
function init() {
sermonJson();
}
// run init()
init();
return {
getSermonLists: function(){
return sermon;
},
getUser: function(index){
return "";
}
}
})
这方面的最佳做法是什么?如果你能帮我解决这个问题,那就太好了,还有例子
【问题讨论】:
标签: javascript angularjs ionic-framework ionic promise