困惑于如何在node.js中实现asynchronouscallback
ytdl(url, { filter: function(format) { return format.container === 'mp4'; } }) .pipe(fs.createWriteStream('./songs/Battle-Scars.mp4'));
我是新的node.js,并试图实现一个youtube-mp3转换器,我不知道如何使上面的代码完成运行后只运行下面的代码。
var proc = new ffmpeg({ source: './songs/Battle-Scars.mp4'}) .withAudioCodec('libmp3lame') .toFormat('mp3') .saveToFile('./songs/Battle-Scars.mp3', function(stdout, stderr) { console.log('file has been converted succesfully'); });
我感谢所有的帮助和提前感谢。
由于您正在使用stream,因此您可能需要查看一次写入stream完成写入磁盘后可以触发的结束事件 。
尝试像这样:
var writeStream = fs.createWriteStream('./songs/Battle-Scars.mp4'); // Set up event listener writeStream.on('finish', function () { var proc = new ffmpeg({ source: './songs/Battle-Scars.mp4'}) .withAudioCodec('libmp3lame') .toFormat('mp3') .saveToFile('./songs/Battle-Scars.mp3', function(stdout, stderr) { console.log('file has been converted succesfully'); }); }); ytdl(url, { filter: function(format) { return format.container === 'mp4'; } }) .pipe(writeStream);
- asynchronousNPM模块不执行数组中的每个项目的setTimeout
- Q与node.js等待的asynchronous库
- 处理内部asynchronous调用时,函数参数的作用域是什么?
- 如何防止Twitterstream中的callback触发每个新的tweet?
- asynchronous调用NodeJS中的asynchronous响应
- DeprecationWarning:不build议调用不带callback的asynchronous函数。 – 如何find“function:”在哪里?
- 每个简单的asynchronouseachLimit示例会引发范围错误?
- 如何确保在Node.JS的一个循环中阻塞
- Node + Sequelize:如何在添加之前检查项目是否存在? (asynchronous混淆)