Проблема с получением URL-адреса загрузки из хранилища firebase - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь l oop просматривать файлы в папке с играми на firebase и отображать их на странице в виде списка.

// Create a reference under which you want to list
var listRef = firebase.storage().ref("games/");;

// Find all the prefixes and items.
listRef.listAll().then(function(res) {
  res.prefixes.forEach(function(folderRef) {
    // All the prefixes under listRef.
    // You may call listAll() recursively on them.
  });
  res.items.forEach(function(itemRef) {
    // All the items under listRef.
    console.log(itemRef)
    const p = document.createElement('a');
    p.textContent = itemRef.location.path;
    p.classList.add('col-lg-12');
    p.href = itemRef.getDownloadURL(); 
    console.log(p.href);
    

    document.getElementById('bar').appendChild(p);
    document.getElementById('bar').innerHTML+='<br />'

  });
}).catch(function(error) {
  // Uh-oh, an error occurred!
});


Проблема в том, что я получаю p. href = [object% 20promise] вместо URL-адреса загрузки моего файла.

1 Ответ

1 голос
/ 12 июля 2020

В документации API для getDownloadURL () говорится, что он возвращает обещание, которое разрешается с помощью URL. Он не возвращает URL-адрес напрямую. Вам нужно будет использовать это обещание, чтобы получить URL-адрес так же, как вы используете обещание, возвращаемое listAll().

itemRef.getDownloadURL().then(url => {
    console.log(url);
}

Я предлагаю внимательно посмотреть на документация для получения дополнительной информации.

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