将 return 值设置为 Angular.js 中的范围变量

Set a return value to a scope vaiable in Angular.js

我是 anguar.js 的新手,我遇到了一个问题。我需要使用服务 a 的 return 值设置一个变量,然后在 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

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

数据return按预期编辑..!

提前致谢。

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

由于操作是异步的,一旦值到达,您必须使用 promises 或回调来做某事。