Node.js 脚本没有退出

Node.js Script doesn't exit

我是 Js 的菜鸟,但我试图通过编写 api 将文件从 irc 传输到我的服务器来让生活更轻松 经过一番挖掘后,我得到了一个下载文件的模块(下面的代码基于 npm xdcc)但是当我 运行 该模块时,它在完成命令后不会退出 例如。吐出来后'Download Complete'得按Ctrl+C退出

var irc = require('xdcc').irc;
var ProgressBar = require('progress');
var progress;


var connectIRC = function (bot, pack) {
    var user = 'desu' + Math.random().toString(36).substr(7, 3);

    var start = 0;

    console.log('Connecting...');

    var client = new irc.Client('irc.rizon.net', user, {
        channels: ['#nibl'],
        userName: user,
        realName: user
    });

    client.on('join', function(channel, nick, message) {
        if (nick !== user) return;
        console.log('Joined', channel);
        client.getXdcc(bot, 'xdcc send #' + pack, '.');
    });

    client.on('xdcc-connect', function(meta) {
        console.log('Connected: ' + meta.ip + ':' + meta.port);
        progress = new ProgressBar('Downloading... [:bar] :percent, :etas remaining', {
            incomplete: ' ',
            total: meta.length,
            width: 20
        });
    });

    var last = 0;
    client.on('xdcc-data', function(received) {
        progress.tick(received - last);
        last = received;
    });

    client.on('xdcc-end', function(received) {
        console.log('Download completed');
    });

    client.on('notice', function(from, to, message) {
        if (to == user && from == bot) {
            console.log("[notice]", message);
        }
    });
    client.on('error', function(message) {
        console.error(message);
    });
};

module.exports.connectIRC = connectIRC;

另外,当 irc bot 不发送任何通知时,文件名用双引号引起来 例如。 数据包名称 = Node.mkv

如果 bot 发送通知则文件下载名称 = Node.mkv

如果 bot 没有发送任何通知,那么 name = "Node.mkv"(包括双引号)

如有任何帮助,我们将不胜感激

如果你想自动关闭你的 Node JS 应用程序,你必须调用全局进程对象的退出方法:

  client.on('xdcc-end', function(received) {
        console.log('Download completed');
        process.exit()
    });