我是anguar.js的新手,我遇到了问题。我需要使用服务a的返回值设置一个变量,然后在它之外访问它。这是我的代码,
fetchService.store_closing_time($scope.currentStore.id, moment(new Date()).format('YYYY-MM-DD'))
.then (result) ->
$scope.changedStoreCloseTime = result.close_time
console.log "############# display inside##########"
console.log $scope.changedStoreCloseTime
, (result) ->
flash.error = result.error
console.log "#############display outside ##########"
console.log $scope.changedStoreCloseTime
服务返回数据,但我无法在success函数之外访问$ scope.changedStoreCloseTime。我如何访问它??
我的抓取服务:
store_closing_time: (id, date) ->
def = $q.defer()
$http.get('url').
then (result) ->
def.resolve(result.data)
, (result) ->
def.reject(result.data)
def.promise
按预期返回数据..!
先谢谢。
答案 0 :(得分:1)
我对CoffeeScript有点新鲜,但看起来你在服务返回之前试图访问该值。
由于操作是异步操作,因此一旦值到达,您必须使用promises或callbacks来执行某些操作。