我是NodeJS的新手,我正在使用" Sequest"用于读取SFTP远程文件内容的包。它很棒。但是,如果我尝试阅读的文件不存在,则会抛出异常而应用程序不会进一步响应。
所以我想在尝试阅读之前检查文件是否存在。由于我使用了库函数(sequest.get),因为缺少指定的文件,我无法处理库方法中发生的异常。
以下是我的代码:
var reader = sequest.get('xyz@abc', fileName, opts);
reader.setEncoding('utf8');
reader.on('data', function(chunk) {
return res.send(chunk);
});
reader.on('end', function() {
console.log('there will be no more data.');
});
Sequest(https://github.com/mikeal/sequest#gethost-path-opts)是SSH2的封装 - (https://github.com/mikeal/sequest)。
非常感谢任何帮助。谢谢。
答案 0 :(得分:1)
您可以收听error
事件来处理此类案件。
var reader = sequest.get('xyz@abc', fileName, opts);
reader.setEncoding('utf8');
reader.on('data', function(chunk) {
return res.send(chunk);
});
reader.on('end', function() {
console.log('there will be no more data.');
});
reader.on('error', function() {
console.log('file not found or some other error');
});