【发布时间】:2019-10-10 13:11:03
【问题描述】:
我正在尝试使用节点模块vtt2srt 将 VTT 字符串转换为 SRT 文件并保存输出。它可以运行一次,并且我的字幕已正确保存,但是如果我再次点击端点,则节点会因此错误而崩溃:
Error: write after end
at writeAfterEnd
我已经尝试了 .close .on('close') 的所有组合
我从前端发送一个唯一的 vid 和 VTT 数据
router.post('/downloadsubs', function(req,res,next) {
var vttObj = webvtt.compile(req.body.data);
fs.unlink(__dirname + '/../static/videos/'+req.body.vid+'/subtitles.srt', function(){
srtStream.write(vttObj);
var writestream = fs.createWriteStream(__dirname + '/../static/videos/'+req.body.vid+'/subtitles.srt')
srtStream.end()
srtStream.pipe(writestream)
res.send(req.body.vid);
})
})
【问题讨论】: