Estoy metiendo un montón de nodos de secuencias de comandos sin atributo src en una serie de promesas que establecen el src y luego resolve o reject , respectivamente onload o onerror . Todos estos son llamados en una Promise.all . Todo lo cual await . El problema es que nunca deja de esperar. Supongo que algunas de las promesas individuales se están resolviendo o rechazando, pero no sé cómo depurar cuáles no.
function loadScript (script) { return new Promise(function(resolve, reject) { // this happens for every script script.setAttribute("src", script.getAttribute("data-src")); script.onload = _ => resolve(script.src); script.onerror = _ => reject(script.src); }); } // loadScripts : (graph, int) -> (string array) promise async function loadScripts(g, order = 1) { if (!g.has(order)) return [] else return [ ...await Promise.all(g.get(order).map(loadScript)), // the script stops here after the first pass and never executes the // next line. It just ... awaits the previous line ...await loadScripts(g, order + 1) ] }Llegué a este punto estableciendo puntos de interrupción en Chrome devtools y paso a paso, pero no estoy seguro, una vez que estamos sentados y esperando, cómo verificar el estado de las promesas individuales, para ver cuáles se están resolviendo y cuáles aún están pendientes. .