如何将其他参数传递给事件处理程序?

时间:2015-10-26 04:06:44

标签: javascript node.js

我正在使用node-ftp库来获取/放置文件到ftp。

// establish a ftp connection
function connect(message) {
    client.connect(ftpProperties);
}


// once connection is successfully established, ready event will be emitted
client.on('ready', function() {
  console.log('ftp connection is success.');
  // do something
  // How to access message object here?
});
  

我尝试了什么:如果我在连接函数中使用ready事件处理程序呢   每当我调用连接功能时都会注册。

请建议我如何将 消息 对象从连接功能传递到就绪事件处理函数?

2 个答案:

答案 0 :(得分:3)

一种方法是在connect函数中注册一个单一的事件监听器。

function connect(message) {
  client.once('ready', function() {
    // use message
  });
  client.connect(ftpProperties);
}

答案 1 :(得分:0)

您可以将其保存在数组中,稍后再使用它:

var myArray = new Array(); //create an array

// establish a ftp connection
function connect(message) {
    client.connect(ftpProperties);
    myArray.push(message);
}



// once connection is successfully established, ready event will be emitted
client.on('ready', function() {
  console.log('ftp connection is success.');

  console.log(myArray[0]); //use it here

});