0

Есть функция, в которой с помощью стороннего модуля осуществляется запрос на api там же можно сделать .then в который приходит src картинки и его мне надо вернуть. ПОпробовал следующим образом:

 getImg = () => {
            let { data } = this.props;
            let imageSrc = "";

            for (let i=0; i<data.length; i++) {

                        FileService.getFileFetchObject(data[i].logo).
                        then( response =>  imageSrc = response);

                        return imageSrc;

            }
        };

Так не сработало. Можно ли как-то в данном случае "поднять" response, чтобы его было видно в функции?

Iga
  • 1,891

1 Answers1

0

Добрый. Полагаю, так будет правильнее:

async function getImg() {
    let { data } = this.props;
    let imageSrc = [];

    for (let i=0; i<data.length; i++) {
        imageSrc.push(await FileService.getFileFetchObject(data[i].logo));
    }
};

В этом коде запускается цикл, в нем останавливается поток, пока response от FileService.getFileFetchObject не будет доступны. И как только мы получим эти данные, записываем их в массив imageSrc.