const fs = require('fs');
var postExtract = require("./postextract.js");
var scoreAddress = require("./scoreaddress.js");
var leven = require("./levenshtein.js");
const Transform = require('stream').Transform;
//File containing unprocessed addresses
var fileName = ("Refinitiv_Address_GBR_10000.csv");
//Country we are looking at address of
var country = "UK";
const extract = new Transform({
transform: (chunk, encoding, done) => {
postExtract.CodeFileRead();
done(null, null);
}
});
const score = new Transform({
transform: (chunk, encoding, done) => {
scoreAddress.StartProcess();
done(null, null);
}
});
var funcDict = [extract, score];
StreamFunc(0);
function StreamFunc(func) {
fs.createReadStream("Originals\\" + fileName)
.pipe(funcDict[func])
.on('end', () => {
console.log("We are on script number " + func);
if (func < funcDict.length) {
StreamFunc(func+1);
}
});
}
Это код, который у меня сейчас есть после того, как сложить вещи из inte rnet. Цель состоит в том, чтобы я хотел передать файл через читаемый поток, чтобы этот файл был обработан сценарием postExtract, а затем чтобы выходной файл был прочитан сценарием ScoreAddress, и, таким образом, иметь возможность чтения выходного файла как ввод следующей функции. Я не уверен, верны ли мои идеи или есть что-то, что можно использовать, кроме пользовательского потока
В настоящее время проблема заключается в том, что он только запускает postExtract, а не scoreAddress, или запускает postExtract несколько раз над собой и выдает ошибки
Код не закончен, и, вероятно, есть многократные ошибки, я просто нахожусь в тупике
const fs = require('fs');
var postExtract = require("./postextract.js");
var scoreAddress = require("./scoreaddress.js");
var leven = require("./levenshtein.js");
const Transform = require('stream').Transform;
//File containing unprocessed addresses
var fileName = ("Refinitiv_Address_GBR_10000.csv");
//Country we are looking at address of
var country = "UK";
RunningShit();
function RunningShit() {
postExtract.CodeFileRead();
scoreAddress.StartProcess();
}
Это способ, которым я пытался сделать это сначала, однако это просто запускает их обоих вместе в одно и то же время, и не дожидается, пока первый закончится sh