O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

"Готовим промисы правильно", Андрей Яманов, MoscowJS 24

1.019 visualizações

Publicada em

Промисы прочно вошли в ES-стандарт и жизнь современных JS-разработчиков. Однако многие, используя их чуть ли не каждый день, не до конца понимают, как они устроены. Какие опасности и возможности в себе кроют. Доклад освежит знания о промисах, предостережёт о нюансах реализаций и подскажет парочку трюков.

Publicada em: Software
  • Seja o primeiro a comentar

"Готовим промисы правильно", Андрей Яманов, MoscowJS 24

  1. 1. Готовим промисы правильно MoscowJS 24 Докладчик: Яманов Андрей http://tenphi.me
  2. 2. О чем этот доклад • Проблемы • Задачи • Будущее промисов 2
  3. 3. Promises callback hell promise heaven 3
  4. 4. В чем отличие? Функции doSomething() и doSomethingElse() обе возвращают промисы. 4
  5. 5. 5 Проблемы
  6. 6. #1 Promise hell (pyramid of doom) Ссылка на GitHub 6
  7. 7. #1 Promise hell (pyramid of doom) 7
  8. 8. #2 Неправильное использование итерирования 8
  9. 9. 9
  10. 10. #2 Неправильное использование итерирования Используем Promise.all() 10
  11. 11. #3 Забытый .catch() 11
  12. 12. 12 Код, где не обрабатываются ошибки
  13. 13. #3 Забытый .catch() ES6 promises 13
  14. 14. #3 Забытый .catch() Q promises 14
  15. 15. #4 Повсеместное использование “deferred” 15
  16. 16. Используем хелперы #4 Повсеместное использование “deferred” 16
  17. 17. ES6 promises #4 Повсеместное использование “deferred” 17
  18. 18. #5 Игнорирование / Незнание Promise.resolve() и Promise.reject() 18
  19. 19. #5 Игнорирование / Незнание Promise.resolve() и Promise.reject() 19
  20. 20. #6 .catch() не совсем то же самое, что .then(null, …) = 20
  21. 21. #6 .catch() не совсем то же самое, что .then(null, …) ≠ 21
  22. 22. #7 promise !== promise.then() 22
  23. 23. #7 promise !== promise.then() 23
  24. 24. #8 .then() принимает только функции. Выведет: “foo” 24
  25. 25. 25 Задачи
  26. 26. ES6 Promises это не только 26
  27. 27. ES6 Promises это 27
  28. 28. Решение задач: Параллельное выполнение 28
  29. 29. Решение задач: Последовательное выполнение 29 let funcs = массив функций, создающих и возвращающих промисы.
  30. 30. Решение задач: Последовательное выполнение 30
  31. 31. Решение задач: Последовательное выполнение 31
  32. 32. Решение задач: Последовательное выполнение 32
  33. 33. Решение задач: Опциональное звено 33
  34. 34. Решение задач: Отладка 34 Q promises
  35. 35. Решение задач: Отладка 35 ES6 promises и другие
  36. 36. Решение задач: Транзакции 36
  37. 37. 37 Будущее промисов
  38. 38. ES7 Async/await Реализовано через промисы 38
  39. 39. ES6 Promises 39
  40. 40. ES7 Async/await 40
  41. 41. 41 Проголодались?
  42. 42. В чем отличие? Функции doSomething() и doSomethingElse() обе возвращают промисы. 42
  43. 43. Спасибо за внимание! http://linkbun.ch/03oyo Материалы Вопросы?

×