我一直坚持这一段时间,现在不知道为什么值没有被返回。我正在使用Angular $resource
向API发出GET请求。
我的$资源工厂看起来是这样的:
.factory("Bookings", function ($resource) {
return $resource("www.example/bookings_on_date/:day", {});
})
我试图实现诺言,但我不能这样做正确。
function getBookings(day){
return Bookings.get({"day": day}).$promise.then(function(data) {
console.log(data.total)
return data.total;
});
}
$scope.todaysBookings = getBookings(TODAY);
$scope.tomorrowsBookings = getBookings(TOMORROW);
当我在它返回未定义控制台查看任一console.log($scope.todaysBookings)
或$scope.tomorrowBookings
。
我也尝试了一切从这jsfiddle,但不幸的是没有任何运气。
你错过了之前'Bookings.get'一个'return'。没有返回值的JavaScript函数返回'undefined'。 –
你需要阅读http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call/16825593 –
平我,让我知道,如果它解决了你的问题,所以我们可以关闭重复,或者如果没有 - 编辑,我们将看到我们可以做些什么 - 快乐的编码。 –