更新: 全新安装NodeJS后,此问题已解决。
我正在尝试在NodeJS中创建PDF文件下载器。这是我的代码
new mapboxgl.Marker(el, {
offset: [0, -25]
})
.setLngLat(marker.geometry.coordinates)
.setPopup(new mapboxgl.Popup()//add popups
.setHTML('<h3>' + marker.properties.title + '</h3><p><a href="' + marker.properties.link + '" target="_blank">' + marker.properties.description + '</a></p><p><a href="' + marker.properties.link + '" target="_blank"><img src="' + marker.properties.picture + '" title="" /></a></p>'))
.addTo(map);
这是我得到的错误:
const file = fs.createWriteStream(filePath);
const sendReq = request.get(pdfUrl);
sendReq.on('response', (response) => {
if (response.statusCode !== 200) {
reject()
}
sendReq.pipe(file);
});
file.on('finish', () => {
file.close()
resolve()
});
sendReq.on('error', (err) => {
console.log(err)
fs.unlink(file);
reject()
});
我正在将ubuntu 16.04与 节点:v10.15.0
如果我删除此代码,就没有错误
TypeError [ERR_INVALID_ARG_TYPE]: The "listener" argument must be of type Function
at _addListener (events.js:180:11)
at WriteStream.addListener (events.js:240:10)
at WriteStream.close (fs.js:2302:10)
at WriteStream.<anonymous> (/var/www/html/lottery-api/app/Helpers/DocumentHelper.js:25:30)
at WriteStream.emit (events.js:164:20)
at finishMaybe (_stream_writable.js:605:14)
at afterWrite (_stream_writable.js:456:3)
at onwrite (_stream_writable.js:446:7)
at fs.js:2246:5
at FSReqWrap.wrapper [as oncomplete] (fs.js:703:5)
我正在使用pdfreader package来解析保存的pdf文件。 如果删除上面的代码,我将无法正确处理回调,并且pdf阅读器会产生错误。
以下是错误:
file.on('finish', () => {
file.close()
resolve()
});
我在做什么错?
在具有节点v10.15.0的MacOS Mojave 10.14中,相同的代码可以正常工作。