Тип Ошибка чтения файла не определяется даже после импорта модуля - PullRequest
0 голосов
/ 08 ноября 2018

Следующий код написан на версии узла 8

const fs = require('fs').promises
const [, pairA] = require('./pairs.json')

const accountASignsTx = async (secret) => {
    const fundsReleaseTx = await fs.readFile('./fundsReleaseTx.x', { encoding: 'base64'
})

Я импортировал модуль readfile, но получил следующую ошибку

TypeError: Cannot read property 'readFile' of undefined

2) Я учил удалять .promises, тогда он не справился, ждите, пожалуйста, помогите мне

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Я исправлен, но AFAIK, API FS Promises был добавлен в nodejs V10.x:

Вам придется обновить nodejs до версия 10.x or higher, если вы хотите, чтобы эта функция работала.Также обратите внимание, что он находится за флагом experimental, поэтому вам придется с этим справиться.

0 голосов
/ 08 ноября 2018

Я думаю, что ваша проблема в том, что вы экспортируете не весь модуль fs, а какой-то promises как модуль fs. Попробуй поменять

const fs = require('fs').promises

до

const fs = require('fs')

также fs.readFile как асинхронная функция, но она не возвращает обещание, поэтому вы не можете await ее. У него есть параметр обратного вызова с, который будет выполнен, когда функция завершит выполнение. Так что вы можете заключить его в Обещание, чтобы подождать с await:

await new Promise(resolve=>
    fs.readFile('./fundsReleaseTx.x', { encoding: 'base64' },
resolve)

или вы можете просто использовать fs.readFileSync, который блокирует дальнейшее выполнение кода, пока он не завершит свою работу, поэтому вам не нужны никакие дополнительные приемы для его ожидания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...