2016-11-11 3 views
0

Ionic2과 함께 Angularfire2을 사용 중이며 FirebaseListObservable subscribe() 기능에서 오류를 catch 할 수있는 방법을 찾고 있습니다.Angularfire2의 FirebaseListObservable에서 오류를 잡으십시오.

나는 FirebaseListObservable이고, 브라우저/장치를 오프라인으로 전환하면 (오류) 기능이 호출되지 않습니다. fbData에 가입 중입니다. 나는 왜 그런지 이해하지 못한다.

내 목표는 사용자가 오프라인이거나 firebase에 접근 할 수없는 경우 localStorage에서 데이터를 가져 오는 것입니다. 네트워크에 연결할 수없는 경우

export class MyService { 
    fbData: FirebaseListObservable<any[]>; 

    constructor(private af: AngularFire) { 
    this.data = af.database.list('/data', { preserveSnapshot: true }); 
    } 

    updateData() { 
    return new Promise<any[]>((resolve, reject) => { 
     this.fbData.subscribe(
     (snapshots) => { 
      resolve(snapshot.val()); 
     }, 
     (error) => console.log('error: ', error) // NEVER CALLED 
    ); 
    }); 
    } 

답변

2

중포 기지 오류가 발생하지됩니다

여기 내 간단한 코드입니다. SDK는 소켓 연결이 구축 될 때까지 자동으로 대기합니다. 보안 규칙이 쿼리에 대한 읽기 액세스를 거부하는 경우에만 구독에 오류가 발생할 수 있습니다.

이러한 시간 초과 구성표를 구현하려면 쿼리를 시작할 때 시간 제한을 시작하고 쿼리가 결과를 시간 내에 반환하는 경우이를 취소하는 등 모든 작업을 수동으로 수행해야합니다.