Работа над WebWorker и DbCreator
This commit is contained in:
@@ -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);
|
||||
|
||||
//поисковые таблицы
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user