0
回到我现在用AngularJS的工作很多,但我认为这是比什么都一个JavaScript问题。这里是一个示例控制器的片段。我们假设它包含一个名为'Restaurants'的Angular服务(由我定义),可以查询。从功能参数
$scope.myFunction = function() {
Restaurants.query(function(restaurants) {
// How to return 'restaurants'?
return restaurants;
}
}
Restaurants.query()的结果是由我给它的函数参数处理的。我的最终目标是让'餐厅'变量成为'myFunction()'的返回值。但是当我从嵌套的回调中返回时,它不起作用。
两个问题: - 在回调,哪里的返回值(“餐馆”)去? - 我应该如何重构此代码,以使'餐厅'可以成为'myFunction()'的返回值?
如果'Restaurants.query()'是异步的,那么你将无法'返回餐馆'。 ''scope.myFunction()'将在'restaurants'实际可用之前总是退出。 “[如何返回从AJAX调用的响应?](http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call)” –
你是什么最终目标在这里?你想绑定'myFunction'来访问模板中的'餐厅'?在这种情况下,您可以定义'$ scope.restaurants',然后在函数中执行'$ scope.restaurants = restaurants'。 – basilikum
餐厅是一个$资源实例吗? – gkalpak