|
promises. почему так запилено?
Че-то я думаю-думаю, и не могу понять, почему в JS (после стольких лет ожиданий и надежд от избавления от callback-hell), запилили настольок уродливую парашу? Ведь, по идее, JS -- это ООП язык, а в Ъ асинхронные сообщения запиливаются по другому.
Суть в том, что, чтобы наше дерьмо возвратило обещание, нам надо предварительно это подготовить с помощью new Promise, тогда как в нормальных ООП-языках, мы имеем возможность асинхронно отправить сообщение независимо от его реализации. Почему так сделали? Причина в каких то ограничениях языка? Или просто дезигнеры че-то попутали? |
Хз, порой кажется, что увидали они callback-hell, ужаснулись и зафигачили первое, что пришло в голову. Symbol тоже мне кажется тотальным overmind'ом.
Но там вроде теоретически предположительно наверное скорее всего должны сидеть умные ребята, может это мы просто |
Обещания - это не финальное решение для обеспечения удобной работы с асинхронщиной, а лишь шаг на пути к нему. Сейчас идет разработка фичи async functions, которая обеспечит асинхронную работу без увеличения стека, с нормальным синтаксисом и перехватом ошибок.
Выглядит так: async function loadUser(id) { let user; try { let response = await fetch(`/api/users/${id}`); user = response.body; } catch (error) { console.error(error); } return user; } Новейший текст спецификации - http://tc39.github.io/ecmascript-asyncawait/. Это то? |
Erolast, да знаем про async - нормальное решение. Знаем и почему промисы - обратная совместимость. И всё же и всё же...
|
Цитата:
someMethod := casualMethod(some code returns some value) casualVar := someMethod aFuture := @someMethod aFuture println casualVar ptintln 1 println // выхлоп будет >>some value >>1 >>some value // -- из фьючера подозреваю, что это не совсем то. Во всяком случае, async/await -- точно не то |
Цитата:
|
Erolast,
Спасибо, не могу плюсануть в карму, форум, наверное глючит, пишет должны добавить кому то еще, я добавил Aetae, он один х*й, не дает. разлогинивание тоже не помогло, а плюсовал я тебе, ЕМНИП, вчера, так что извиняй:) UPD А не, добавилось вроде, че то я запутался, может не я плюсанул, ну ладно, х с ним. |
Цитата:
//Плюсанул я, но это всё не важно) |
Safort,
Детсад какой-то. 2 раза не прокатило, поэтому, попытки прекращаю, как то смешно получается, можно покраснеть от этого нелепого конфуза:) |
Да, система кармы тут, по меньшей мере, странная - ни для выражения благодарности, ни для саморегуляции не годится) Запилили бы хотя бы обычные лайки с указанием числа у каждого поста - я считаю, куда лучше б было.
|
Часовой пояс GMT +3, время: 01:34. |
|