最近,我已经读过Javascript中有一个等待运算符来等待异步函数返回的Promise对象。
我的目标是只使用标准Javascript提供的函数,而无需任何外部库。所以我的问题是:如何有效地使用await
运算符顺序从服务器获取数据(一个文件接一个)?
答案 0 :(得分: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中管理以前异步完成的顺序任务。