Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 May 22

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
Нет, все строго в одном потоке, никаких воркеров
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Ок, может эта гонка в одном потоке происходит?
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
Возможно, а как увидеть кто в ней участвует, помимо ноды?
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
Я пробовал написать и на await - тоже самое
Ну, то есть, если await приостанавливает выполнение функции пока промис не станет fulfiled - то на момент завершения функции файл уже перезаписан (а он именно перезаписывается, а не создаётся с нуля)
И перезаписан он так же, невалидно
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
А может быть проблема в том, каким образом я делаю запрос?
Юзаю postman
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
У тебя одно и то же имя файла при каждом вызове этой функции?
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
Не всегда
Я пытался реализовать изменение имени файла
Имя файла - это поле phone, что-то вроде первичного ключа
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
И в случае отличия поля phone в payload от того, который в параметрах запроса - делается rename
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
rename реализован таким образом:
const commonPath = path.join(__dirname, '..', '.data');
const createPath = (dir, fileName) => path.join(commonPath, dir, fileName);

const rename = async (dir, oldName, newName) => {
 const filePath = createPath(dir, oldName);
 const newFilePath = createPath(dir, newName);
 try {
   const fileHandle = await fs.open(newFilePath, 'wx');
   try {
     await fs.rename(filePath, newFilePath);
   } catch (err) {
     throw new Error(err);
   } finally {
     await fileHandle.close();
   }
 } catch (err) { // if file exists
   throw new Error(err);
 }
};
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
я бы неправ на счёт гонки, тут всё проще: ты пишешь в файл, в котором уже что-то есть
оно и будет записано поверху, а старое содержимое никуда не денется. Если оно было больше (длиннее), то такие ошмётки и останутся
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Это конец. Дальше будет один сплошной браузер. Прямо как предвещал Гари Бернхарт. Хотя он тогда вроде просто шутил? Но это не точно.

Если коротко: эти люди запустили полное окружение ноды прямо в браузере поверх Web assembly. Теперь можно разрабатывать веб прямо в браузере. И подключаться к серверу ноды, который запущен во вкладке браузера из другой вкладки через виртуальный TCP стэк. Задержка при этом меньше чем если подключаться на локалхост.

Гугл победил. Все будет работать в браузере и больше ничего не будет.
источник

Q

Qwerty in NodeUA - JavaScript and Node.js in Ukraine
лол, ну предсказуемая технология, а почему все будет в браузере то? Просто фронтенд станет еще более изощренным и бэкенд для него переползет в браузер. А бэкенд - бэкенд останетс где был.
источник

Q

Qwerty in NodeUA - JavaScript and Node.js in Ukraine
https://pastebin.com/mN5p1kTT реально этот код с промисом как то изящнее переписать?
источник

DK

Danil Kincharov in NodeUA - JavaScript and Node.js in Ukraine
Приветствую, можете, пожалуйста, посоветовать, что лучше использовать для отправки email сообщений с VPS сервера?
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
Ого, жестко. Сколько возможностей это даёт с теми же торрентами, например.
источник

DH

Dima Haponov in NodeUA - JavaScript and Node.js in Ukraine
Ниче не даёт на ноде 99% пишут как 10 лет назад о чем вы =))
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
Только я не понял, почему Гугл победил?
источник

V

Victor in NodeUA - JavaScript and Node.js in Ukraine
https://www.opennet.ru/opennews/art.shtml?num=55186 может интересно будет почитать любителям тюнить производительность
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
я что-то не понял, а зачем там промис внутри промиса ?
источник

Q

Qwerty in NodeUA - JavaScript and Node.js in Ukraine
либа xml2js только промис или колбэки может
источник