-1

最近,我读到 Javascript 中有一个 await 运算符,用于等待异步函数返回的 Promise 对象。

我的目标是只使用标准 Javascript 提供的函数,而不需要任何外部库。所以我的问题是:如何有效地使用await运算符从服务器顺序获取数据(一个文件接一个文件)?

4

1 回答 1

0

我设法得到了我想要的东西。第一步是创建一个async function,然后将所有需要执行的代码,就好像它是同步的一样,放在该函数中。这是一个代码片段:

<html>
<body>
</body>
</html>

<script>

var fileList = [ 
'test_1.txt', 
'test_2.txt',
'test_3.txt',
'test_4.txt',
'test_5.txt'
];

async function loadFiles() 
{
    for (i = 0; i < fileList.length; i++)
    {
        await fetch(fileList[i]).then(function(response){
            return response.text();
        }).then(function (text){
            console.log(text);
        });
        console.log("loaded " + fileList[i]);
    }
}

loadFiles();

</script>

这样,所有文件将一个接一个地加载。在这些日子里这样做真是太神奇了,因为在 JavaScript 中管理以前异步完成的顺序任务很容易。

于 2017-02-27T19:22:07.627 回答