我已经坚持了很长一段时间,并且无法弄清楚为什么没有返回该值。我正在使用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
时,它会返回undefined。
我也尝试了jsfiddle的所有内容,但遗憾的是没有运气。
答案 0 :(得分:2)
我认为应该是这样的:
...
var localK = k;
new Thread(() =>
{
if (localK < 50)
{
g.DrawImage(new Bitmap(getBestPic(argb)), new Point(i, localK));
}
}).Start();
...
更新:我认为下一个代码样式可以帮助您防止下一个扩展方法问题:
function getBookings(day) {
return Bookings.get({"day": day}).$promise.then(function(data) {
return data.total;
});
}
getBookings(TODAY).then(function(total) {
$scope.todaysBookings = total;
});
getBookings(TOMORROW).then(function(total) {
$scope.tomorrowsBookings = total;
});
这里有一点优势:
p.s。否则,你可以删除这样的函数声明和代码(尽可能保持简单):
function getBookings(args) {
return Bookings.get(args).$promise;
}
getBookings({"day": TODAY}).then(function(data) {
$scope.todaysBookings = data.total;
});
getBookings({"day": TOMORROW}).then(function(data) {
$scope.tomorrowsBookings = data.total;
});