App.WebNotificationComponent = Em.Component.extend
subscriptionQueue: null
connection: (->
App.StompConnection.create(subscriptionQueue: @get('subscriptionQueue'))
).property('subscriptionQueue')
willDestroy: ->
@get('connection').destroy()
App.AlertsIndexAlertWebNotificationComponent = App.WebNotificationComponent.extend
subscriptionQueue: "notifications"
didInsertElement: ->
@get('connection').onMessage = ((message) ->
result = JSON.parse(message.body)
App.AlertNotification.store.find('alert_notification', result.id).then (notification) =>
debugger
).bind(@get('targetObject'))
@get('connection').connect()
在调试器断点处,我无法再访问消息或结果。
有什么我做错了或其他方法吗?
答案 0 :(得分:1)
您无法在调试器中访问这些值,因为您没有关闭它们,因此它们在闭包中不可用。如果您在封闭中使用它们,它们将可用。 Javascript必须知道您将使用变量才能将其保存在封闭范围内。
换句话说,这将按预期工作:
result = JSON.parse(message.body)
App.AlertNotification.store.find('alert_notification', result.id).then (notification) =>
console.log(message)
console.log(result)