Как обработать вызов функции в JavaScript без изменения функции - PullRequest
0 голосов
/ 04 мая 2020

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

Так что все, что мне нужно, это создать своего рода «обработчик событий», но для вызова функции.

Пример:

TestSample.sync = function (arg1, arg2, arg3){
        //some function things
}

Итак Мне нужен обработчик, который позволяет мне делать что-то каждый раз, когда вызывается функция.

Как это сделать, используя JS?

1 Ответ

0 голосов
/ 05 мая 2020

Я решил проблему, переписав функцию с привязанным контекстом и добавив в нее свой код (я думаю, что это не очень хорошая практика, но в моем случае это сработало)

var __fakeFunc = window.TestSample.sync.bind(window.TestSample); 

// Overwrite the original function, adding extra actions.
        TestSample.sync = function (arg1, arg2, arg3)  {
        // Add any code you need
        // Call the original function using it's temporary variable.
        __fakeFunc(arg1, arg2, arg3);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...