我如何将嵌套的promises传递给async await

时间:2017-09-30 00:56:49

标签: reactjs ecmascript-6 async-await es6-promise

我有一个使用filesaver.js从端点下载文件的功能问题是我需要将该函数传递给async await方法

fileDownload = () => {
    fetch('http://localhost:3000/api/buildings/1/assets.xlsx')
        .then(res => res.blob())
        .then(blob => saveAs(blob, 'assets.xlsx'))
}

如何将此更改为异步等待此嵌套承诺? (功能还可以)

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码:

fileDownload = async () => {
    let response = await fetch('http://localhost:3000/api/buildings/1/assets.xlsx');
    let blob = await response.blob();
    await saveAs(blob, 'assets.xlxs');
};