我正在使用https
和fs
从存储设备下载文件。并且,如果提供给https的URL 无效,则会抛出一个显式错误,而不是生成“错误事件”。
const https = require('https');
const fs = require('fs');
let URL = 'bla-bla-more-bla'; // invalid URL
let fileName = 'output.png';
let file = fs.createWriteStream(fileName);
let request = https.get(URL, function(response) {
response.pipe(file);
}).on('error' , (err) => {
// I expect error here, so that I can handle it properly.
console.log(' failed to download ' , fileName , ' with error ' , err);
}).on('close' , (data) => {
console.log('downloaded ' , fileName );
});
所以,我的问题是,当我提供无效的URL时,为什么HTTPS不会触发“错误”事件? 我有什么想念的吗?
实际上,我正在编写脚本来下载图像。并且,如果图片网址无效,则应该只显示错误消息。但是我的程序崩溃了。因为https
无法触发“错误”事件。