@masimka

Почему node-csvtojson возвращается пустой служебный обект, вместо обработанного результата?

Приветствую всемущуй разум., обращаюсь к тебе не в последний раз., но и не в самый первый.
Обещаю, что прибегаю к помощ вселенского разума лишь только по необходимости, после попыток разобраться самому.
Есть некий node-csvtojson
Ассинхронно он работает. А вот синхронно не желает.
В примерах есть такой код:
const csvFilePath='<path to csv file>'
const csv=require('csvtojson')
// Async / await usage
const jsonArray=await csv().fromFile(csvFilePath);
console.log( jsonArray); <--- вещает служебный обект окоянный, а не json как было обещано


Поправка стоит внутри async контроллера.
Результат.

Converter {
  _readableState: 
   ReadableState {
     objectMode: false,
     highWaterMark: 16384,
     buffer: BufferList { head: null, tail: null, length: 0 },
     length: 0,
     pipes: null,
     pipesCount: 0,
     flowing: null,
     ended: false,
     endEmitted: false,
     reading: false,
     sync: false,
     needReadable: true,
     emittedReadable: false,
     readableListening: false,
     resumeScheduled: false,
     destroyed: false,
     defaultEncoding: 'utf8',
     awaitDrain: 0,
     readingMore: false,
     decoder: null,
     encoding: null },
  readable: true,
  domain: null,
  _events: 
   { end: [ [Object], [Function] ],
     prefinish: [Function: prefinish],
     error: [Function] },
  _eventsCount: 3,
  _maxListeners: undefined,
  _writableState: 
   WritableState {
     objectMode: false,
     highWaterMark: 16384,
     finalCalled: false,
     needDrain: false,
     ending: false,
     ended: false,
     finished: false,
     destroyed: false,
     decodeStrings: true,
     defaultEncoding: 'utf8',
     length: 0,
     writing: false,
     corked: 0,
     sync: true,
     bufferProcessing: false,
     onwrite: [Function: bound onwrite],
     writecb: null,
     writelen: 0,
     bufferedRequest: null,
     lastBufferedRequest: null,
     pendingcb: 0,
     prefinished: false,
     errorEmitted: false,
     bufferedRequestCount: 0,
     corkedRequestsFree: 
      { next: null,
        entry: null,
        finish: [Function: bound onCorkedFinish] } },
  writable: true,
  allowHalfOpen: true,
  _transformState: 
   { afterTransform: [Function: bound afterTransform],
     needTransform: false,
     transforming: false,
     writecb: null,
     writechunk: null,
     writeencoding: null },
  _options: {},
  param: 
   { constructResult: true,
     delimiter: ';',
     ignoreColumns: [],
     includeColumns: [],
     quote: '"',
     trim: true,
     checkType: false,
     toArrayString: false,
     ignoreEmpty: false,
     workerNum: 1,
     fork: false,
     noheader: true,
     headers: 
      [ 'drvId',
        'drvFullName',
        'tripId',
        'class',
        'trpDateBegin',
        'trpDateEnd',
        'startPoint',
        'getFromClient',
        'drvTaxTotals',
        'diff',
        'teaCash',
        'coupon',
        'payType',
        'fullTeaCash',
        'TaxFDrvWTeaCash',
        'pwgReward',
        'trpDuration',
        'waitTime',
        'endPoint',
        'distance',
        'parkPrice',
        'totalActionPrice' ],
     flatKeys: false,
     maxRowLength: 0,
     checkColumn: false,
     escape: '"',
     colParser: {},
     _columnConv: [],
     _headerType: [],
     _headerTitle: [],
     _headerFlag: [],
     _headers: null,
     _needFilterRow: false,
     _options: {} },
  started: false,
  recordNum: 0,
  lineNumber: 0,
  _csvLineBuffer: '',
  lastIndex: 0,
  flushCb: null,
  processEnd: false,
  sequenceBuffer: [],
  _needJson: null,
  _needEmitResult: null,
  _needEmitFinalResult: null,
  _needEmitHeader: null,
  _needEmitJson: null,
  _needPush: null,
  _needEmitCsv: null,
  _csvTransf: null,
  finalResult: [] }


Надобно получить json, а он вместо него выдает мне азбуку заморскую.
О всемогущий вселенский коллективный разум, направь меня на путь истинный, да не казни пинками непосильными. Обещаю предсобою исправится в обозримом будущем.
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
await должен быть внутри асинхронной функции
(async () => {ваш код...})()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы