Size: a a a

2021 October 29

FA

Farid Akhmedov in codingteam
Ну это же eventemitter
источник

FA

Farid Akhmedov in codingteam
События обычные
источник

t

ttldtor in codingteam
какие-то странные у вас промисы... с коллбэками
источник

FA

Farid Akhmedov in codingteam
Обычно пишут как сверху, но они эквивалентны
источник

f

folex in codingteam
да пиздец
источник

f

folex in codingteam
https://www.npmjs.com/package/deferred вот посоветовали
источник

t

ttldtor in codingteam
завезли асинхронщину, а колбэки оставили
источник

t

ttldtor in codingteam
вот же тюти
источник

f

folex in codingteam
непонятно, нахера
источник

f

folex in codingteam
ты про какую-то конкретную либу?
источник

FA

Farid Akhmedov in codingteam
Это в ноде есть.
источник

f

folex in codingteam
Ага, очередь эвентов, вижу
источник

SS

Sergiy Shatunov in codingteam
похоже тебе надо RxJs
источник

FA

Farid Akhmedov in codingteam
Тоже самое
источник

f

folex in codingteam
но await туда не повесишь, всё равно в промис/deferred оборачивать
источник

FA

Farid Akhmedov in codingteam
Объясни ещё раз проблему.
источник

f

folex in codingteam
В целом deferred похоже делает всю мерзкую работу за меня
источник

t

ttldtor in codingteam
гм. у меня внутри github.actions сломалась горутина(
источник

f

folex in codingteam
function loop(channel) {
  // do something in async loop. Receive messages from network, process them, etc.
  ...
  // once some predicate is held, send message to channel
  channel.send(msg)
}

// create a channel
let channel = ...;

// then, pass that channel to loop
loop(channel);

// then, wait for loop to report that predicate is held
await channel.receive();
источник

SS

Sergiy Shatunov in codingteam
а если не нравятся промисы, то от них легко избавиться применив этот код, который буквально недавно залил
https://github.com/Svoloch/etc-js/blob/master/promise.coffee
источник