[Ответить в тред] Ответить в тред

09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)
25/09/16 - Персональное обращение Абу - СБОР ПОЖЕРТВОВАНИЙ НА ДВАЧ


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 29 | 5 | 8
Назад Вниз Каталог Обновить

Аноним 13/11/16 Вск 13:49:51  139946928  
logoJavaScript.png (10Кб, 1052x1052)
Сап, анон. Пытаюсь вкатиться в этот ваш новомодный ES6. Нихуя не понимаю с промисами. Стрелочные функции - хуета, а это что за зверь? Всю жизнь работал с коллбэками.
Сейчас пытаюсь написать свою реализацию промисов, чтобы и с .then, и цепочкой, и на сиськи, но путаюсь в том, что должен возвращать этот промис.
Это объект. Класса промис. Который имеет состояние, получает коллбэк и обрабатывает его. Получая коллбэк - дёргаем метод .then и, если аргумент у then пустой - возвращаем результат этого коллбэка, а если нет - вызываем промис с этим же коллбэком (что?). В итоге моя "самая простая реализация" насчитывает уже 60+ строк.
Есть, блеать, где-нибудь блочная схема как эта хуита работает? Спецификацию PromisesA+ читал, но не понял.
С меня няшные обойки.
Аноним 13/11/16 Вск 13:57:23  139947399
Бамп
Аноним 13/11/16 Вск 13:58:52  139947483
>>139946928 (OP)
Ты хуй.
Аноним 13/11/16 Вск 13:59:30  139947529
>>139946928 (OP)
а все от недостатка образования.
напиши на плюсах сначала, потом на js перепишешь.
Аноним 13/11/16 Вск 14:02:04  139947710
Охуеть ты тупой. Хотя я рад, что погромисты с каждым днем становятся все более днищной профессией, меньше платить вам приходится УЖЕ)))).
Аноним 13/11/16 Вск 14:03:59  139947821
>>139947529
>>139947483
>>139947710
Послышался голос со стороны менеждеров и продавцов-кассиров.
Аноним 13/11/16 Вск 14:09:21  139948141
Стрелочные функции - это тот же .bind().
Насчет написания промисов не помогу, я их только использовал, не особенно заморачиваясь. Да и вообще у нас на проекте только es5, печаль.
Аноним 13/11/16 Вск 14:14:08  139948408
>>139948141
Жаль. Дык я тоже только использовал, но тимлид сказал, что перед тем, как что-то юзать - надо разобраться как оно работает. Сижу теперь, эти промисы ковыряю. Нахер оно надо, когда уже await/async на подходе - хз.
А по опыту ты кто? Мид, июнь?
Аноним 13/11/16 Вск 14:17:17  139948607
1478881401.jpg (143Кб, 840x840)
>>139947821
Даже это лучше чем быть вебмакаком. Такие вопросы задают на stackoverflow, ебанат, хотя что взять с мартышки...
Аноним 13/11/16 Вск 14:17:40  139948633
>>139948408
Только июнь. Полгода даже не работаю еще.
Аноним 13/11/16 Вск 14:18:04  139948655
>>139948607
Голос со стороны байтоебов?
Аноним 13/11/16 Вск 14:20:15  139948799
ОП, покажи свою реализацию в 60 строк. Интересно даже стало.
А вообще, промисы - годная вещь
Аноним 13/11/16 Вск 14:21:44  139948891
>>139948607
На stackoverflow уже ничего давно не задают. Почитай об их репутации. Нет, если ты, конечно, хочешь поучавствовать в клоунаде, когда твой вопрос закрывают с плашкой "Не по теме", падает десяток комментов "Лол, это же ОЧЕВИДНО" и ни одного ответа, а, спустя пару дней, вновь открывают, приходят 1.5 реальных специалиста, проводят школию хуем по губам и говорят, что эта проблема уже висит в issues библиотеки и пока не решена, то да - иди на стак.
Аноним 13/11/16 Вск 14:23:32  139949017
>>139946928 (OP)
>Который имеет состояние, получает коллбэк и обрабатывает его.
Он получает операцию, состояние которой будет хранить и идти по цепочке, опираясь на результат работы этой операции

>Получая коллбэк - дёргаем метод .then и, если аргумент у then пустой - возвращаем результат этого коллбэка, а если нет - вызываем промис с этим же коллбэком (что?).
Коллбэков здесь не существует, метод .then срабатывает если промис ранее вернул true или значение
Аноним 13/11/16 Вск 14:26:10  139949179
>>139948799
С 60 ошибся, на 40. Хз, как дальше рекурсивный .then делать
https://jsfiddle.net/ngx7d9jk/1/
Аноним 13/11/16 Вск 14:32:59  139949594
>>139949017
http://pastebin.com/Y432e4a8 так?
В чём отличие просто
var a = promise(cb);
от
var a = promise(cb).then(() => {});
?
Аноним 13/11/16 Вск 14:42:16  139950180
Бамп
Аноним 13/11/16 Вск 15:03:37  139951428
>>139947821
Не знал, что зп тебе платят продавцы-кассиры, тупой холоп. Соболезную твоему днищеслучаю.
Аноним 13/11/16 Вск 15:10:24  139951835
>>139951428
Может ты и москаль ещё?
Аноним 13/11/16 Вск 15:50:53  139954517
Bump
Аноним 13/11/16 Вск 16:33:34  139957746
Лол. Всегда умиляет, что на любой вопрос сразу выскакивает пяток говноедов с криками "Лол, это жы ЛИХКО" или "Ну ты тупооой", а как предложишь показать свой лвл - сразу убегают и сливаются.
/Суть анонимных борд
Аноним 13/11/16 Вск 17:18:00  139960731
>>139946928 (OP)
Promise - это просто асинхронная монада поверх Either, а then лифтит функцию в монаду. ну и bind вполне понятный.
Аноним 13/11/16 Вск 17:34:25  139961772
>>139960731
Дядя, а это правда нужно во Frond-End? Зачем мне писать свою реализацию промисов, если можно использовать уже готовую в ES6 или подключить Bluebird если очень хочется?
Алсо почитаю в этом направлении, спасибо.
Аноним 13/11/16 Вск 17:38:57  139962071
Монада — это абстракция линейной цепочки связанных вычислений. Её основное назначение — инкапсуляция функций с побочным эффектом от чистых функций, а точнее их выполнений от вычислений.
Пиздец.
Аноним 13/11/16 Вск 17:39:17  139962096
>>139961772
не знаю зачем тебе писать свою реализацию. может быть для того чтобы понимать что происходит, когда ты делаешь async.
Аноним 13/11/16 Вск 17:42:23  139962323
WPGB8XXV.jpg (4315Кб, 2300x1300)
>>139962096
Тимлид заставил. Говорит, что это базовые знания JS и любой должен уметь написать свою реализацию промисов, чтобы понимать как замыкания и контекст работают. Спросил у пары коллег-мидов на эту тему - сбежали в ужасе "Нееее... это не знаю...". Хз короче. Поэтому копаю и пытаюсь понять. Думаю полезно будет.
Аноним 13/11/16 Вск 17:45:56  139962559
>>139961772
Весь объектив - одна огромная встроенная бленда? омг.
Аноним 13/11/16 Вск 17:48:31  139962732
>>139962323
читал?
https://github.com/then/promise/blob/master/src/core.js
Аноним 13/11/16 Вск 17:53:43  139963114
4397.jpg (30Кб, 600x400)
mercurycameraol[...].jpg (779Кб, 3840x2552)
tehnologyphotoc[...].jpg (340Кб, 1920x1200)
>>139962559
По-сути - да. Наши взяли ту же систему для Индустара 61 ЛЗ. Довольно резкий макрик вышел, да и линза защищена самой конструкцией.
>>139962732
Нет, блубёрдовские исходники смотрел, но у них сложнее. Спасибо, анон. Сейчас почитаю.
Аноним 13/11/16 Вск 18:37:28  139966067
>>139949594
В первом случае переменная 'а' просто хранит onReject/onFullfield, во втором выполнит функцию в .then() если cb выполнится успешно

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 29 | 5 | 8
Назад Вверх Каталог Обновить

Топ тредов
Избранное