小编Ser*_*aph的帖子

Angular2:用于调试的更好/更深的区域堆栈

Angular2中有没有办法为异步代码获得更好的调用堆栈?我一直认为,跟踪setTimeout(),发出的事件,Promises等的执行上下文是Zone的优势之一?

我构建了一个plunker示例,它显示了一个常见的场景,无法跟踪错误.

我有以下示例场景:

@Component({
  selector: 'my-component',
  template: `
    <div>
      <button (click)="doSmth()">Cause an async error!</button>
    </div>
  `
})
export class MyComponent {
  @Output() error = new EventEmitter<any>(true);

  public doSmth(): void {
    this.error.emit('Oh snap!');
  }
}

@Component({
  selector: 'my-app',
  template: `
    <div>
      <my-component (error)="handleError($event)"></my-component>
    </div>
  `,
})
export class App {
  private error = "";

  public handleError(reason: any): void {
    Promise.reject(reason)
  }
}

@NgModule({
  imports: [ BrowserModule ],
  declarations: [ App, MyComponent ],
  bootstrap: [ App ]
})
export class AppModule {} …
Run Code Online (Sandbox Code Playgroud)

stack trace zone angular

13
推荐指数
1
解决办法
830
查看次数

标签 统计

angular ×1

stack ×1

trace ×1

zone ×1