JavaScript - Return 来自事件侦听器的字符串值

JavaScript - Return string value from event listeners

在我的 Angular 应用程序中,我想 return 来自事件侦听器的字符串值(错误消息)并将其分配给变量。

errorMessage: string = ''; // my variable

我正在尝试将错误消息分配给上面的变量,但它没有分配任何东西

ngOnInit() {

this.errorMessage = CustomHandler.on("error", function(event: {}) {

console.log(event.message) // The field has an error
return JSON.stringify(event.message)

});

}

我在这里错过了什么?

我认为您在执行此操作时将事件对象设置为空对象

this.errorMessage = CustomHandler.on("error", function(event: {}) {

你能试试这样做吗

this.errorMessage = CustomHandler.on("error", function(event) {

我的意思是这不是 javascript 的工作方式。很难说 100%,因为我们不知道 CustomHandler.on() return 是什么,但它不太可能 return 是函数中的 return 值。理论上是因为事件还没有发生,但将来会发生。

不太清楚自己到底想做什么,但您可能想要这样的东西:

ngOnInit() {
  CustomHandler.on("error", (event: {}) => {
    console.log(event.message) // The field has an error
    this.errorMessage = JSON.stringify(event.message)
  });
}

理论上,如果 ngOnInit 已被调用并且您正在处理的事件发生,this.errorMessage 将包含字符串化消息。