代码之家  ›  专栏  ›  技术社区  ›  rajesh023

将返回值设置为Angular.js中可用的范围

  •  0
  • rajesh023  · 技术社区  · 11 年前

    我刚接触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
    

    服务返回数据,但我无法在成功函数之外访问$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
    

    数据按预期返回。。!

    提前感谢。

    1 回复  |  直到 11 年前
        1
  •  1
  •   juunas    11 年前

    我对CoffeeScript有点陌生,但看起来您正在尝试在服务返回任何内容之前访问该值。

    由于操作是异步的,因此一旦值到达,就必须使用promise或回调来执行某些操作。