Задать вопрос
@zeuss56

TypeScript ведёт себя неочевидно. Как исправить ошибку TS2339?

Компилируется и запускается нормально, но редактор выделяет ошибки.
Код и ошибки
// Imports
import * as fs from 'fs';

// Prepare arguments
let args = [];
process.argv.forEach(arg => {
  let {0: key, 1: val = null} = arg.split('=', 2);
  if (val) args[key] = val.replace(/^"(.*)"$/, '$1');
});

// Check required args
if (!args['path']) {
  console.error('Use "path" argument!');
  process.exit(0);
}
let filePath = args['path'];


// fs.stat promise wrapper
function fsStat(filePath) {
  return new Promise((resolve, reject) => {
    fs.stat(filePath, (err, stats) => {
      if (err) reject(stats);
      else resolve(stats);
    });
  });
}

(async () => {
  try {
    // Check file exists
    const stats = await fsStat(filePath);
    if (!stats.isFile()) throw new Error('Is dir.');
    console.log('File exists.');
  } catch (e) {
    console.log('File does not exists.');
  }
  console.log(fs.ReadStream(filePath));
})();

4998df83d0e74045be5b1817756ced00.png
  • Вопрос задан
  • 735 просмотров
Подписаться 1 Оценить 3 комментария
Решения вопроса 1
@zeuss56 Автор вопроса
async выдаёт неверный тип. Нужно его исправить:
let stats: fs.Stats = <any>await fs.stat(filePath);

В последнем выражении допущена ошибка:
let fstream: fs.ReadStream = fs.createReadStream(filePath);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tyzberd
наверно просит указать тип переменных
Ответ написан
Ваш ответ на вопрос

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

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