169 похожих чатов

Подскажите пожалуйста, можно ли использовать промисы просто ради того чтобы

получить управлямую цепочку колбеков, за такое руки не рубают?

Например есть синхронная функция которая возвращает одно из двух состояний.
Есть функция валидатор
Я знаю что если функция упадет в процессе выполнения/нехватка аргументов - будет throw,
Я знаю что если функция выполнится неуспешно то вызываю колбек где показываю пользователю что он что-то делает не так.
Теперь мне понадобилось сказать пользователю что он условно делает всё так,падения функции не возможно но добавляется 4-ый аргумент в виде success колбека что уже приводит к такому использованию
valid({},
function(){
--error
},
success(){
-- you are super ( ͡° ͜ʖ ͡°)
})

Но, есть такой момент, когда я точно знаю что функция выполнится успешно и хотелось бы поменять колбеки местами просто ради удобства, на такой случай подходит промис с его reject/resolve.
Где я мог бы игнорировать err колбек и обрабатывать ТОЛЬКО success(then)
valid({}).then(fn)

3 ответов

19 просмотров

если оно будет читабельно, то какая разница? только вот непойманный reject обычного промиса вывалит в консоль ошибку

тебе походу нужны функциональные комбинаторы типа таких https://github.com/Svoloch/etc-js/blob/master/function.coffee#L8-L16

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта