Работа над WebWorker и DbCreator

This commit is contained in:
Book Pauk
2022-08-17 03:13:47 +07:00
parent f76a8f14ec
commit 3cfb2beb3d
3 changed files with 71 additions and 17 deletions

View File

@@ -1,4 +1,4 @@
const InpxParser =
const InpxParser = require('./InpxParser');
class DbCreator {
constructor(config) {
@@ -8,7 +8,34 @@ class DbCreator {
async run(db, callback) {
const config = this.config;
//book
await db.create({
table: 'book'
});
//парсинг
const parser = new InpxParser();
const readFileCallback = async(readState) => {
callback(readState);
};
let recsLoaded = 0;
let id = 0;
const parsedCallback = async(chunk) => {
for (const rec of chunk) {
rec.id = ++id;
}
await db.insert({table: 'book', rows: chunk});
recsLoaded += chunk.length;
callback({recsLoaded});
};
await parser.parse(config.inpxFile, readFileCallback, parsedCallback);
//поисковые таблицы
}
}