最近,我读到 Javascript 中有一个 await 运算符,用于等待异步函数返回的 Promise 对象。
我的目标是只使用标准 Javascript 提供的函数,而不需要任何外部库。所以我的问题是:如何有效地使用await
运算符从服务器顺序获取数据(一个文件接一个文件)?
最近,我读到 Javascript 中有一个 await 运算符,用于等待异步函数返回的 Promise 对象。
我的目标是只使用标准 Javascript 提供的函数,而不需要任何外部库。所以我的问题是:如何有效地使用await
运算符从服务器顺序获取数据(一个文件接一个文件)?
我设法得到了我想要的东西。第一步是创建一个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 中管理以前异步完成的顺序任务很容易。