Как решить проблему библиотеки parquetjs - ошибка с асинхронностью? - PullRequest
0 голосов
/ 28 февраля 2019

Я попытался использовать parquetjs: https://www.npmjs.com/package/parquetjs

Код из их примера:

var parquet = require('parquetjs');

// declare a schema for the `fruits` table
var schema = new parquet.ParquetSchema({
  name: { type: 'UTF8' },
  quantity: { type: 'INT64' },
  price: { type: 'DOUBLE' },
  date: { type: 'TIMESTAMP_MILLIS' },
  in_stock: { type: 'BOOLEAN' }
});

// create new ParquetWriter that writes to 'fruits.parquet'
var writer = await parquet.ParquetWriter.openFile(schema, 'fruits.parquet');

// append a few rows to the file
await writer.appendRow({name: 'apples', quantity: 10, price: 2.5, date: new Date(), in_stock: true});
await writer.appendRow({name: 'oranges', quantity: 10, price: 2.5, date: new Date(), in_stock: true});

Ошибка: SyntaxError: await is only valid in async function

В чем проблема (так как ониопубликовал это как пример)?

1 Ответ

0 голосов
/ 28 февраля 2019
SyntaxError: await is only valid in async function

Это означает, что вы можете использовать ключевое слово await только в функции, для которой в сигнатуре функции есть ключевое слово async.

Чтобы быстро обойти это, вы можете использовать asyncIIFE.

(async() => {
    // create new ParquetWriter that writes to 'fruits.parquet'
    var writer = await parquet.ParquetWriter.openFile(schema, 'fruits.parquet');

    // append a few rows to the file
    await writer.appendRow({name: 'apples', quantity: 10, price: 2.5, date: new Date(), in_stock: true});
    await writer.appendRow({name: 'oranges', quantity: 10, price: 2.5, date: new Date(), in_stock: true});
})()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...