javascript - 在 NodeJS 中使用相同的参数在回调函数中调用父函数

标签 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_data(COMPANY, INVOICES,(check)=>{
    if(check){
        console.log('Success, training data created!');
    }
    else{
        //Call generate_data.generate_date again with SAME INPUT 
    }
});

基本上我在等待 generate_date 模块的返回值,如果该值是真的我只是一个简单的打印输出,但如果该值是假的我需要再次调用相同的函数

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);

关于javascript - 在 NodeJS 中使用相同的参数在回调函数中调用父函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55782351/

相关文章:

javascript - 使用 Greasemonkey 单击由 JavaScript 创建的按钮

node.js - 在 Docker 中使用 Yarn 从私有(private)注册表安装包

javascript - Postman 在发出 Node.js 请求时挂起

c++ - C++链表中的奇偶长度字符串是用递归还是迭代来分隔更好?

c++ - 检查 C++ 模板值零失败

javascript - 无法使用 React Redux 存储数据?

javascript - 带有 Sqrt、COS、SIN、log 和后退按钮的在线计算器

mysql - 如何在不中断连接的情况下在 node.js mysql 中使用递归?

javascript - Textarea 没有聚焦而是提交

Node.js Express.js Heroku Toolbelt >Foreman 启动 - 错误 : write EINVAL