Quiero entender un mecanismo de devolución de llamada, así que trato de calcular un tamaño de resumen para los archivos en un directorio. Aquí está mi código:
import path from 'path'; import fs from 'fs'; import async from 'async'; export const getDirectorySize = (directory) => { fs.readdir(directory, (error, files) => { if (error) throw error; const counter = (el, callback) => { fs.stat(path.join(directory, el), (error2, result) => { if (error2) throw error2; if (result.isFile()) callback(null, result.size); }); } async.map(files, counter, (error3, results) => { if (error3) throw error3; console.log(results.reduce((prev, current) => prev + current, 0)); }); }); } getDirectorySize('/usr/src/app');Entonces, cuando ejecuto el código anterior, el tercer argumento (devolución de llamada) de async.map no llama. ¡Pero se llama a la función "contador" (No hubo errores)! Entonces, ¿cómo ver los resultados de async.map?