我如何等待承诺解决?或者我做错了吗?

时间:2014-12-03 01:46:25

标签: javascript angularjs design-patterns promise

我有一个基本的帮助器,通过用户名获取用户,除非有许多实例尚未解析,所以按用户名获取用户将返回null。

以下示例使用coffeescript在Angular中:

angular.module('test')
.service('UserHelper', ['User', (User) ->
    users = null
    User.getAll().$promise.then((data) ->
      users = data.users
    )

    getUserByUsername = (user) ->
      username = user.username
      index = _.findLastIndex(users, (user) ->
        user.username == username
      )
      return users[index]

    return {
      getUserByUsername: (user) ->
        return getUserByUsername(user)
    }
  ])

所以当我调用this.getUserByUsername时,我希望得到用户对象。我不知道正确的设计模式来实现我想要的东西,并且仍然等待承诺在运行此行return getUserByUsername(user)之前得到解决。

0 个答案:

没有答案