2017-04-26 64 views
0

在我的角應用程序中,我打電話給一個服務並獲取數據,一旦結果被提取,我需要添加一個控制檯日誌。我可以在哪裏添加控制檯日誌?我如何在控制檯中記錄訂閱內的結果?

this.searchTerm.asObservable() 
      .debounceTime(300)  
      .distinctUntilChanged() 
      .switchMap(term => this.doFind(term)) 
      .subscribe(data => this.results = data 
      , error => { 
       this.errorMessage = error; 
      }); 

回答

4

使用一個代碼塊

this.searchTerm.asObservable() 
     .debounceTime(300)  
     .distinctUntilChanged() 
     .switchMap(term => this.doFind(term)) 
     .subscribe(data => { 
      this.results = data; 
      console.log('data', data); 
     }) 
     , error => { 
      this.errorMessage = error; 
     }); 

do操作

this.searchTerm.asObservable() 
     .debounceTime(300)  
     .distinctUntilChanged() 
     .switchMap(term => this.doFind(term)) 
     .do(val => condole.log(val)) 
     .subscribe(data => this.results = data 
     , error => { 
      this.errorMessage = error; 
     }); 
+0

.do(this.resultFetched == true);我不能這樣做 –

+0

我沒有說你應該;-)你想爲此做什麼? –

+0

我想分配給一個變量爲真當取得結果 –

2

您正在使用箭頭功能的簡寫版,用更大的版本:)

.subscribe((data) => { 
    this.results = data; 
    console.log(data); 
}, error => { 
    this.errorMessage = error; 
}); 
1

你可以這樣做

this.searchTerm.asObservable() 
     .debounceTime(300)  
     .distinctUntilChanged() 
     .switchMap(term => this.doFind(term)) 
     .subscribe(
      data=>this.message=data.msg, 
      error=>alert('errer'), 
      ()=>{console.log('finished');} 

      ); 
相關問題