下面的函数getUserData(),我希望日志语句的序列是从firebase服务器返回的'someusername'然后是1,2,3,但我得到1,2,3,-firebasereturninfo。我可以def看到firebase返回数据和1如何以不同的顺序记录,但是在我对promise对象的理解中,def不应该被调用,直到第一个.then闭包完成。有人可以指导我吗?谢谢!
getUserData: (participants) ->
defer = $q.defer()
defer.promise
.then () ->
Session.firebase.child("usernames/someusername").once "value", (userProfile) ->
console.log userProfile.val()
console.log "1"
.then () ->
console.log "2"
.then () ->
console.log "3"
defer.resolve()
控制台输出的屏幕截图。