Javascript 在NodeJS中使用相同参数在回调函数中调用父函数
我有下面的功能Javascript 在NodeJS中使用相同参数在回调函数中调用父函数,javascript,node.js,recursion,callback,Javascript,Node.js,Recursion,Callback,我有下面的功能 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_
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_data.generate_data(COMPANY, INVOICES, (AND HERE THE SAME CALLBACK...)
基本上,我在等待generate_date模块的返回falue,如果该值为true,我只是一个简单的打印输出,但是如果该值为false,我需要再次调用相同的函数
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_data.generate_data(COMPANY, INVOICES, (AND HERE THE SAME CALLBACK...)
我尝试使用generate_data.generate_data.call(arguments.callee.caller),但是我得到了arguments.callee.caller的未定义值。您可以通过将回调存储在单独的函数中来实现这一点,所以您可以在函数中引用它
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);
谢谢,我甚至没想过要分开它,它今天让我很困扰。。。干杯。@KristijanStefanoski很乐意帮忙。另外,如果答案解决了您的问题,请不要忘记将其标记为正确答案。)