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