NodeJS & Electron: Async múltiples archivos requeridos

Deseo crear una serie de módulos que se require , hacer un ciclo a través de los módulos que se requieran, require forma asíncrona y luego devolver la llamada. He intentado lo siguiente:

 // async require module for other required modules function asyncRequire (requireList, callback) { if (!Array.isArray(requireList)) {return}; var index = -1; var loop = {} loop.next = function () { if (index < requireList.length) { var asyncOperation = function (j) { setTimeout(function() { index++; var item = requireList[index]; console.log(item); window[item] = require(item); loop.next(); }, 10); } asyncOperation(requireList); } else { if (typeof callback === "function") { setTimeout(function() { callback(); }, 1000); } } } loop.next(); } // usage example var requireList = ['moduleName', 'moduleName2'] asyncRequire(requireList, callback) function callback() { console.log("success"); } 

Sin embargo, aunque la path para require es correcta, recibo el error:

 AssertionError actual: undefined expected: true generatedMessage: false message: "missing path" name: "AssertionError" operator:"==" stack:"AssertionError: missing path↵ at Module.require (module.js:496:3)↵ at require (internal/module.js:20:19)↵ at asyncRequire.js:18:21" __proto__: Error 

También siento que puede haber un retraso entre la finalización del require y la callback . Por lo tanto, la callback podría fallar. ¿Es esto correcto?

Tenga en cuenta que esta es una continuación de mi pregunta: ¿Dónde / cómo debo requerir varios módulos para el rendimiento?

Por lo que puedo recordar, no puede requerir módulos como este (dinámicamente / tiempo de ejecución), solo creo que puede hacerlo leyendo manualmente los archivos a través del módulo fs durante el tiempo de ejecución. Más detalles sobre cómo hacer esto aquí: Cargando módulos de Node.js dinámicamente según la ruta