函数总是在履行之前返回承诺。但我想兑现承诺后回来

问题描述 投票:0回答:0

我正在从 firebase 获取数据。我首先获取名称并尝试获取具有该名称的图像链接,然后返回一个对象。

export const getSkills = async () => {
  const data = await getDocs(skillRef).then((res) => {
    return res._docs[0]._document.data.value.mapValue.fields.name.arrayValue
      .values;
  });
  const dataBind = await data.map(async (img) => {
    await getDownloadURL(ref(storage, `/skills/${img.stringValue}.svg`)).then(
      (res) => {
        console.log({ name: img.stringValue, url: res });
        return { name: img.stringValue, url: res };
      }
    );
  });
  return dataBind;
};

我只想在调用此函数时履行所有承诺后才返回。

javascript async-await es6-promise
© www.soinside.com 2019 - 2024. All rights reserved.