Вызов родительской функции внутри функции обратного вызова с тем же аргументом в NodeJS - PullRequest
1 голос
/ 21 апреля 2019

У меня есть нижеприведенная функция

const generate_data = require('./helpers/generate_train_data');
const permutate_data = require('./helpers/permutate_data');

var COMPANY = 'test-company';
var INVOICES = ['invoice2.pdf','invoice4.pdf','invoice5.pdf'];

generate_data.generate_data(COMPANY, INVOICES,(check)=>{
    if(check){
        console.log('Success, training data created!');
    }
    else{
        //Call generate_data.generate_date again with SAME INPUT 
    }
});

В основном, я жду возвращаемого значения модуля generate_date, и если это значение, если true, я просто простая распечатка, но если это значение false, то янужно снова вызвать ту же функцию

generate_data.generate_data(COMPANY, INVOICES, (AND HERE THE SAME CALLBACK...)

Я пытался использовать generate_data.generate_data.call (arguments.callee.caller), но я получаю неопределенное значение для arguments.callee.caller ..

1 Ответ

1 голос
/ 21 апреля 2019

Этого можно добиться, сохранив обратный вызов в отдельной функции, поэтому вы ссылаетесь на него внутри

const customCallback = (check) => {
    if (check) {
        console.log('Success, training data created!');
    } else {
        //Call generate_data.generate_date again with SAME INPUT 
        generate_data.generate_data(COMPANY, INVOICES, customCallback);
    }
}

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