Наблюдаемый с http.get внутри - PullRequest
0 голосов
/ 16 ноября 2018

Я начинаю с углового.

Я пытаюсь создать Observable для загрузки и помещения в кеш данных. Я хочу подписать это наблюдаемое из HomeComponent из моего приложения, и когда наблюдаемое пингует его, потому что оно закончено, у меня появятся кнопки

Но у меня проблема У меня есть http.get для получения данных из функции: charger_data () Затем, если мне удастся получить данные, я преобразую их и помещу в кеш

Мне нужна моя основная функция: charger_data_et_cache () возвращает наблюдаемую

Мне не удается это сделать, не могли бы вы мне помочь, пожалуйста !!!

Спасибо

  public charger_data_et_cache(force:boolean) : Observable<boolean>{

    this.charger_data().subscribe(
      (value) => {
        console.log('Observable change ! => ' + value);
        charger_cache(value);
      },
      (error)=> {
        console.log('Observable error!');
      },
      () => {
        console.log('Observable complete!');
      }
    )
    
    
    return Observable.create( observer => {
        
    
    });

  
 }
 
 
 
 public charger_data():Observable<string>{
      return this.http.get('/assets/txt/mystere.txt',{responseType: 'text'}).pipe(
        map(data =>  {
          return data;
        }),catchError( error => {
          return throwError( 'error : ' + error )
        })
        );
  }
  
  
  public charger_cache(data:string){
  
    //do stuff
  }

1 Ответ

0 голосов
/ 22 ноября 2018

Я нашел!

public charger_data_et_cache(force:boolean) : Observable<boolean>{

    if(force == false && MystereService.mystere_charge){
      return Observable.create((observer) => observer.complete());
    }
    return this.charger_data(force).pipe(map(data => {
        this.charger_cache(data);
        console.log('charger_cache ok');
        return true;
    }),catchError( error => {
        return throwError( 'error' )
      }));

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...