Javascript 浏览器中的并行数据加载
我们有一个脚本,从服务器加载一些数据Javascript 浏览器中的并行数据加载,javascript,asynchronous,browser,promise,Javascript,Asynchronous,Browser,Promise,我们有一个脚本,从服务器加载一些数据 'use strict'; let data; // Here will be stored data from server let url = '...'; // Here some correct URL (async () => { let response = await fetch(url); // Load response data = await response.text();
'use strict';
let data; // Here will be stored data from server
let url = '...'; // Here some correct URL
(async () => {
let response = await fetch(url); // Load response
data = await response.text(); // Load full data and save as text
// Some work with data from server
})();
// The enormous script below
在异步IIFE中fetch()
创建一个新的承诺,最后一个承诺被推送到微任务队列。只有在执行完整脚本后,它才会从该队列中弹出。很明显,这种行为是使用承诺的理由
问题:
加载数据是否会与执行JavaScript代码并行(低于IIFE),然后从微任务队列执行任务(承诺)?或者首先执行低于IIFE的JavaScript代码,然后从服务器加载数据,最后执行微任务