我的任务是在 NodeJS 中完成一个项目,我是Node的新手。我试图从回调中推送到一个数组,因为我需要数组用于下一步,当我在填充数组后点击下一个函数但它没有填充时,我后来发现这是推送到a的结果来自异步函数的数组,该函数在将来的某个时间执行(类似这样)。
这是我现在的代码:
const input_image = process.argv.slice(2);
if (input_image.length == 0) {
console.log('node index.js <filename>');
return ;
}
const read_files = require('node-readfiles');
const average_color = require('image-average-color');
const color_space = require('color-space');
var db = [];
read_files('dbb', {
filenameFormat: read_files.FULL_PATH,
readContents: false
}, (err, filename) => {
if (err)
throw err;
average_color(filename, (err, color) => {
if (err)
throw err;
db.push({
filename: filename,
space: color_space.rgb.lab([color[0], color[1], color[2]])
});
});
}).catch((err) => {
console.log('Error reading files:', err.message);
});
请帮助我使用任何可以帮助我正确推送到数据库阵列的资源。谢谢!
答案 0 :(得分:1)
对于可能遇到同样问题的任何人,请阅读Promises
。