Size: a a a

Node.js — русскоговорящее сообщество

2020 June 04

СВ

Сергей Видякин... in Node.js — русскоговорящее сообщество
какой нибудь пакет из npm?
источник

L

Looch in Node.js — русскоговорящее сообщество
что-то типа такого https://www.npmjs.com/package/module-alias
источник

СВ

Сергей Видякин... in Node.js — русскоговорящее сообщество
во, то что надо )
источник
2020 June 05

КН

Козлов Николай... in Node.js — русскоговорящее сообщество
Привет всем, можете ли Вы предложить вариант написания этого куска кода более лаконично? then и catch как-то режет глаз, кажется грязным хаком, но я не вижу иного выхода.

Вот этот код:
const isClientExists = await fs.promises
   .access(path.join(pathOfProgramm, "programm.exe"))
   .then(_ => true)
   .catch(_ => false);
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
Козлов Николай
Привет всем, можете ли Вы предложить вариант написания этого куска кода более лаконично? then и catch как-то режет глаз, кажется грязным хаком, но я не вижу иного выхода.

Вот этот код:
const isClientExists = await fs.promises
   .access(path.join(pathOfProgramm, "programm.exe"))
   .then(_ => true)
   .catch(_ => false);
Не писать этот код?
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
Я не шучу. Зачем эта проверка нужна?
источник

CM

Chingiz Mamiyev in Node.js — русскоговорящее сообщество
Козлов Николай
Привет всем, можете ли Вы предложить вариант написания этого куска кода более лаконично? then и catch как-то режет глаз, кажется грязным хаком, но я не вижу иного выхода.

Вот этот код:
const isClientExists = await fs.promises
   .access(path.join(pathOfProgramm, "programm.exe"))
   .then(_ => true)
   .catch(_ => false);
await и then зачем?🌚
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
Если она потом будет выполняться (в зависимости от того, есть оно там или нет), то можно вместо этого попытаться запустить файл, если выпадет с ошибкой ENOENT — тогда обработать.

Это уберёт рейс.
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
То есть зачастую вместо проверки существования файла правильнее предполагать, что он существует и ловить ошибку ENOENT иначе, и обрабатывать уже её.
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
Иначе получается рейс между проверкой и использованием, и в целом хуже код.
источник

КН

Козлов Николай... in Node.js — русскоговорящее сообщество
@ChALkeR, чтобы проверить, существует ли нужный мне путь, для дальнейшей логики.

@Curly_Cina, чтобы не создавать ненужную мне вложенность перенося весь дальнейший код, зависящий от этой проверки в then секцию. Мне просто нужно узнать - есть ли файл по данному пути.
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
Козлов Николай
@ChALkeR, чтобы проверить, существует ли нужный мне путь, для дальнейшей логики.

@Curly_Cina, чтобы не создавать ненужную мне вложенность перенося весь дальнейший код, зависящий от этой проверки в then секцию. Мне просто нужно узнать - есть ли файл по данному пути.
> чтобы проверить, существует ли нужный мне путь, для дальнейшей логики.

Это очевидно, но зачем?
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
Предполагай, что он есть и лови ENOENT.

Кроме случая, когда существование этого файла или нет зачем-то высвечивается в гуй до использования этого файла, например.
источник

КН

Козлов Николай... in Node.js — русскоговорящее сообщество
Я пишу приложение используя электрон, юзер может вызвать диалог выбора папки, мне же нужно проверить, есть ли в выбранной им папке нужный файл, если его нет - нарисовать ошибку валидации в ГУЕ.
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
А дальше ты с этим файлом что-то собираешься делать?
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
Или там просто проверка и больше ничего?
источник

КН

Козлов Николай... in Node.js — русскоговорящее сообщество
Да, дальше будет возможность запустить эту программу с определёнными аргументами. По сути я пишу лаунчер для мультиаккаунтинга.
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
А, то есть между выбором файла и запуском есть промежуток времени, пока юзер ещё думает?
источник

НС

Никита Сковорода... in Node.js — русскоговорящее сообщество
Ок, тогда такой вопрос.
Как ты узнаешь, что это правильный файл?

Возможно, вместо проверки на наличие его стоит запустить с каким-нибудь аргументом (-h, -v или что там ещё) и убедиться, что это именно то, что нужно?
источник

КН

Козлов Николай... in Node.js — русскоговорящее сообщество
Нет, есть настройки лаунчера, где юзер указывает папку, в которой находится клиент игры. Далее, в списке аккаунтов он выбирает нужный и у него запускается клиент с параметрами для авторизации  в игре.
источник