【发布时间】:2021-03-26 10:50:22
【问题描述】:
代码 ytdl.js
const ytdl = require('ytdl-core')
const fs = require('fs')
downloadAudio = link => {
return new Promise((resolve, reject) => {
const stream = ytdl(link).pipe(fs.createWriteStream(`musica.mp3`));
stream.on('error', () => {
console.log('Tive problemas para baixar sua música!')
reject();
})
stream.on('close', () => {
console.log('Baixado!')
resolve();
})
})
}
代码 index.js
const api = require('./ytdl')
api.downloadAudio('https://www.youtube.com/watch?v=I3A45smjVo4').then(()=>{
console.log('Música baixada!')
}).catch(()=>{
console.log('Tive algum problema para baixar sua música!')
})
为什么当我编译代码时系统只是关闭?我错过了承诺吗?
Obs:对不起,我是初学者。
【问题讨论】:
-
系统关闭是什么意思?你的电脑关机?程序退出?你用的是什么框架?
-
关于系统输出。控制台不打印任何内容。我正在使用 Node.js 和 Ytdl-core
-
尝试在外面也加入return。拒绝或解决。也许除了“关闭”和“错误”之外还有其他事件,这就是你的承诺没有返回任何东西的原因。
-
你能告诉我这是怎么做的吗?
-
已解决!谢谢大家
标签: javascript node.js promise ytdl