Как я могу отображать исключения angular2 в моем представлении

Вот мой код Javascript, написанный на Angular2. Проблема важна, но более важна: как я могу распечатать эту ошибку на странице Html, потому что эта страница будет отображаться в мобильном веб-представлении, чтобы разработчики с другой стороны могли получить ошибку. Даже если JSON.stringify () не работает.

let webSocketURL =  "ws://localhost:7000";
message = '';
webSocket:any;
try {
    this.webSocket = new WebSocket(webSocketURL);

    this.webSocket.onopen = (openEvent)=>{
        this.message = "WebSocket OPEN";
        this.webSocket.send('hello from client');
    };
    this.webSocket.onclose =  (closeEvent) =>{
        console.log('closeEvent',closeEvent);
        this.message = "WebSocket CLOSE"+ JSON.stringify(closeEvent);
        alert("WebSocket CLOSE: " + JSON.stringify(closeEvent, null, 4));
    };
} catch (exception) {
    console.error(exception);
    this.message = " Got exception" + exception ;
}

Мой HTML-код выглядит следующим образом

<p>
  This is stage 11 for socket demo and we are going to listion socket on ws://localhost:7000
</p>

<h3>Here is Message output ::{{message}} </h3>

Мой текущий результат выглядит следующим образом:

you can see one one key-value is display in a message and in console its print all value

Что я делаю не так?

JSON.stringify не будет перечислять все свойства, только собственные перечислимые. Если вы хотите отобразить конкретную информацию из события ошибки, сделайте это явно.
Bergi 10.08.2018 14:55
0
1
42
1

Ответы 1

Если я вас правильно понял, вы хотите показать исключение другим разработчикам, если да, вы можете использовать это

let webSocketURL =  "ws://localhost:7000";
message : any;
webSocket:any;
try {
    this.message = null;

    this.webSocket = new WebSocket(webSocketURL);

    this.webSocket.onopen = (openEvent)=>{
       this.message = "WebSocket OPEN";
       this.webSocket.send('hello from client');
    };
    this.webSocket.onclose =  (closeEvent) =>{
        console.log('closeEvent',closeEvent);
        this.message = "WebSocket CLOSE"+ JSON.stringify(closeEvent);
        alert("WebSocket CLOSE: " + JSON.stringify(closeEvent, null, 4));
    };
} catch (exception) {
    console.error(exception);
    this.message = exception ;
}


<p>
  This is stage 11 for socket demo and we are going to listion socket on ws://localhost:7000
</p>

<h3 *ngIf="message">Here is Message output ::{{message | json}} </h3>

Обратите внимание, я изменил тип сообщения на любое, чтобы там был объект

Другие вопросы по теме