非同期なので、AJAXリクエストでデータを返すことはできません。つまり、成功コールバックが呼び出されるまでに、<code> GetViewedItem メソッドの実行が完了したことになります。
通常は、成功コールバックのAJAXデータで何をする必要があれば何でもやり直します。それに応じてデータを処理する成功コールバックのメソッドを呼び出します。
handleViewedItem: (data) ->
//Do something now that the AJAX call is complete.
GetViewedItem: (foo) ->
$.ajax '/Foo/Bar/',
type: 'GET',
data: { id: $(foo).data('fooId') }
success: (data) ->
handleViewedItem data
これはおそらく、JSとAJAXを使用するときに理解する最も重要な概念の1つです。