ng2-toasty icon indicating copy to clipboard operation
ng2-toasty copied to clipboard

angular 4 server side prerending in CustomErrorHandler

Open trackx2k17 opened this issue 8 years ago • 1 comments
trafficstars

Hi,

I got an error during server side prerending

Exception: Call to Node module failed with error: ReferenceError: window is not defined at ToastyComponent._setTimeout

`import {ErrorHandler, Inject, NgZone} from "@angular/core"; import {ToastyService} from "ng2-toasty";

export class AppErrorHandler implements ErrorHandler {

constructor(
    private ngZone: NgZone,
    @Inject(ToastyService) private toastyService: ToastyService){}

handleError(error: any): void {

    this.ngZone.run( () => {
        console.log(error);
        this.toastyService.error({
            title: 'Error',
            msg: 'An unexpected error happened.',
            theme: 'bootstrap',
            showClose: true,
            timeout: 5000
        });
    });
}

}`

if i use direcly toasty inside a compononent without the error handler class.... the prereding works well i can refresh the page without any problem.... only during the prerending using the error handler class

Any idea how to fix that

Thanks in advance

trackx2k17 avatar Jun 19 '17 21:06 trackx2k17

@trackx2k17

        if (typeof(window) !== 'undefined') {
            this._toastyService.error({
                title: 'Error',
                msg: 'An unexpected error happened.',
                showClose: true,
                timeout: 5000,
                theme: 'bootstrap' 
            });
        }

dworky avatar Aug 26 '17 21:08 dworky