Firebase выборки скачать URL запрос бесконечного цикла - PullRequest
0 голосов
/ 25 июня 2019

при попытке получить getDownloadURL из хранилища Firebase я получаю ту же проблему бесконечный запрос и это мой код:

Mycomponent HTML

 <div *ngIf="(geturlimagefromserver() | async)  as imgc ;else loadiing ">
       <img 
            class="card-img-top"
            alt="robot3_image_robot.png"
            [src]="imgc | ''" 
            data-holder-rendered="true"
            style="    margin: 4px;
            width: 246px;
            height: 175px; display: block;"
          /> 
          </div>
          <ng-template #loadiing>

            <div class="text-menuted">Loading image...</div>
          </ng-template>

Компонент Mycomponent

geturlimagefromserver():Observable <any>{
  console.log('i get hier infinite loop ');
 return this.RobotService.getMetadata(path);
}

я видел в своей консоли бесконечность напечатать слово "я получаю бесконечный цикл"

MyService Service

  getMetadata() :Observable <any>{
    const ref = this.storage.ref('myfile/img1');
   return ref.getDownloadURL();}

большая проблема

это когда я вызываю функцию:

geturlimagefromserver () в Mycomponent.html я получаю бесконечный запрос в сети от моего браузера

но когда я вызываю свою функцию: getMetadata () в Mycomponent.component.ts как это

 this.MyService.getMetadata().subscribe(data=>{
      }) 
      console.log("its work so fun");

  console.log(data);

      }

его работа такая веселая, и он дал точно такой же URL-загрузчик из хранилища огня

1 Ответ

0 голосов
/ 25 июня 2019

Не так много, что вы находитесь в бесконечном цикле , что происходит, когда вызывается функция get, вызываемая Url каждый раз, когда angular проверяет DOM, так что это похоже на бесконечный цикл.

Вы должны избегать использования функций непосредственно в html по указанной причине, делать это в компоненте или использовать конвейер.

Короче говоря, проблема не в firebaseStorage, а в том, как changeDetection работает в Angular.

...