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代码,然后从服务器加载数据,最后执行微任务