Как перехватить ошибки попытки соединения с ftp-клиентом - PullRequest
0 голосов
/ 20 июня 2019

Я использую ftp-клиент пакета npm для загрузки файлов с ftp-сервера. Я не могу определить, как перехватить возможные ошибки при попытке подключения к удаленному серверу. Документация по пакету ftp-client очень скудная.

Кто-нибудь может помочь?

Мой код ниже. При возникновении любой ошибки подключения (например, неверный пароль) просто происходит сбой приложения.

const ftpClient = require('ftp-client');
require('dotenv').config();

const dtf_login = process.env.dtf_login;
const dtf_psw = process.env.dtf_psw;
const dtf_host = process.env.dtf_host;

function doDirDownload(remoteDir, localDir, callback){
    var ftpOptions = {logging : 'none', overwrite : 'all'};

    var ftpConfig = {host : dtf_host, 
        port : 21, 
        user : dtf_login, 
        password : dtf_psw};

    c = new ftpClient(ftpConfig, ftpOptions);

    c.connect((err) => {
        if(err){
            callback(err);
        } else {
            c.download(remoteDir, localDir, 
            {overwrite: 'all'}, (result) => {
                callback(result);
            });         
        }
    });
}
...