javascript - 在NodeJS中使用相同的参数在回调函数中调用父函数
问题描述
我有波纹管功能
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),但我得到了未定义的参数值。
解决方案
您可以通过将回调存储在单独的函数中来实现这一点,因此您可以在内部引用它
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);
推荐阅读
- angular - 在 Angular 7 中导入 PDF 文件
- python - 如何在 SQLAlchemy 更新查询中设置 Python 变量?
- c++ - 依赖于模板参数的条件存储类
- python - 遍历嵌套的 GIMP 组以检索图层数组
- c# - Missed User 属性,用于计算 asp.net 核心身份中的用户/角色数
- c++ - 调试 CMake 项目 Visual Studio Code OSX
- elasticsearch - 在 elastalert-test-rule 或执行规则时未收到警报
- ios - 如何在 iOS 应用程序和今日视图扩展程序之间共享数据
- amazon-web-services - 细微差别到 AWS Connect 接口
- c++ - 希望 C++ 将这些变量从文本文件中放入数组中。但我不知道如何在文本文件中指定位置