cron js(ts) не запускает метод из класса
Есть cron функция вне класса:
cron.schedule('1,10,20,30,40,50 * * * * *', function() {
this.webHookActionsPipeline(pipelineQueue[0].mergeRequestUrl, pipelineQueue[0].username, pipelineQueue[0].status);
});
и метод в классе webHookActionsPipeline(mergeRequestID: string, username: string, status: string)
После срабатывания cron, выпадает ошибка TypeError: this.webHookActionsPipeline is not a function
Почему так происходит и как исправить?
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
Он вызывает функцию в другом контексте. Используй стрелочную функцию или bind:
function() {
() => {
ИЛИ
});
}.bind(this));