function extractId3(value, index, list) {
if (path.extname(value) === '.mp3') {
id3js({ file: '/Users/user/materialApp/client/songs/' + value, type: id3js.OPEN_LOCAL }, function(err, tags) {
return tags.v2.image;
});
}
}
exports.index = function(req, res) {
fs.readdir('/Users/user/materialApp/client/songs', function(err, files) {
images = _.map(files, extractId3);
console.log(images);
res.json(files);
});
};
私は、Web開発とnodejsの非同期性がかなり新しいです。mp3ファイル名の配列をループし、node3の別の配列にid3タグを抽出します。
私はfs.readdir()の後に出てくるすべてのmp3ファイルをループし、それらからid3タグを抽出しようとしています。
console.log(images)
は、[]
を生成します。
私はid3js()
という非同期の性質をどのように扱うのか理解できません。この情報を抽出し、このhttp要求への応答として渡す正しい方法は何でしょうか。
をid3jsは何を返すのですか?私は約束を見て、あなたの配列を構築するためにそれらを使用することをお勧めします – winhowes