Передать дополнительный аргумент в обратный вызов - PullRequest
0 голосов
/ 30 марта 2020

Скажем, у меня есть функция с обратным вызовом:

client.on("foo", (arg1, arg2, arg3) => { 
    // ...
    client.bar();   
} );

Теперь я хочу разделить обратный вызов на другой модуль:

const eventHandler = require('./eventHandler.js');

client.on("foo", eventHandler.foo);

Теперь мне нужен доступ к client переменная в модуле eventHandler.js, потому что мне нужно вызвать client.bar();. Как бы я go о передаче client в функцию eventHandler.foo?

1 Ответ

0 голосов
/ 30 марта 2020

Вы можете создать встроенный обратный вызов и вызвать обработчик событий с любыми желаемыми аргументами.

Пример:

client.on("foo", () => eventHandler.foo(client));

Однако, глядя на ваш код, кажется, что on событие - это свойство самого client. Разве вы не можете просто отредактировать код client и заставить его передать себя в качестве аргумента функции обратного вызова?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...