gpt4 book ai didi

javascript - Next 未定义 next(err)

转载 作者:太空宇宙 更新时间:2023-11-03 23:48:12 24 4
gpt4 key购买 nike

    var fs = require('fs');
var path = require('path');
var walk = require('walk');
var xml2js = require('xml2js');

var jsonDir ;
var convertXml = function (xml_dir, json_dir) {
jsonDir = json_dir;

var walker = walk.walk(xml_dir, { followLinks: true });
walker.on("errors", fDirWalkError);
walker.on("end", fDirWalkEnd);
walker.on("file", fDirWalkFile);

}

function fDirWalkError (err) {
console.log ("fDirWalkError: " + err);
next (err);
}

function fDirWalkEnd () {
console.log ("======= End of directory walk");
}

function fDirWalkFile (root, fileStat, next) {
if (fileStat.name.indexOf(".xml") < 0) {
console.log ("skipping file " + fileStat.name + " (does not end in .xml)");
return;
} else {
var xml_file = path.resolve(root, fileStat.name);
console.log ("xml file: " + xml_file);

fs.readFile('xml_file', function (err, data) {
if (err) {
console.log ("error reading file:" + xml_file);
next (err);
}
xml2js.parseString (data, function (err, json_obj) {
if (err) {
console.log (err);
next (err);
}
var json_string = JSON.stringify(json_obj, null, 2);
var json_file = path.resolve (jsonDir, path.basename(xml_file).replace(/\.xml$/, ".json"));
console.log ("json file: ", json_file);

fs.writeFile(json_file, json_string, "utf8", function (err) {
if (err) {
console.log ("error converting yin (%s) to json(%s)", xml_file, json_file);
next (new Error ("error converting xml(" + xml_file + ") to json(" + json_file + ")"));
}
else {
console.log ("Converted xml (%s) to json(%s)", xml_file, json_file);
}
});
});
});
}
next ();
}

module.exports.convertXml = convertXml;




var path = require ('path');
var xml2js = require ('./xml2js');
console.log ("__dirname: " + __dirname);
var templateDir = path.resolve (__dirname);
var xmlDir = path.resolve (templateDir, "xml");
var jsonDir = path.resolve (templateDir, "jsons");
console.log( templateDir);
xml2js.convertXml (xmlDir, jsonDir)

/Users//Documents/GitHub//xml2js.js:19 next (err); ^

ReferenceError: next is not defined at Walker.fDirWalkError (/Users//Documents/GitHub//xml2js.js:19:9) at Walker.emit (events.js:321:20) at Walker._wPostFilesHandler (/UsersDocuments/GitHub//node_modules/walk/lib/walk.js:134:10) at /Users//Documents/GitHub//node_modules/foreachasync/forEachAsync.js:15:16 at Array.forEach () at Walker.next [as _wCurFileCallback] (/Users//Documents/GitHub/node_modules/foreachasync/forEachAsync.js:14:15) at Walker._wLstatHandler (/Users//Documents/GitHub//node_modules/walk/lib/walk.js:84:10) at /Users//Documents/GitHub//node_modules/walk/lib/walk.js:106:12

最佳答案

取决于https://www.npmjs.com/package/walk处的步行文档

下一个参数是事件发送的第三个参数

在您的情况下,您正在使用

function fDirWalkError (err) {
console.log ("fDirWalkError: " + err);
next (err);
}

但是您没有从函数参数中的模块中获取下一个函数

尝试将其放入您的处理程序参数中

像这样

function fDirWalkError (err, nodeStatsArray, next) {
console.log ("fDirWalkError: " + err);
next (err);
}

应该可以工作

关于javascript - Next 未定义 next(err),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60257616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com