Описание Promise расходиться с официальной спецификацией
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 32/100
- Type d'issue
- Documentation
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript
- Domaine
- documentation
Piste de recherche
Examinez les sections référencées de promise-api et async-await, en comparant leur terminologie et leurs affirmations avec la spécification ECMAScript. Vérifiez la discussion de Promise.resolve, la gestion des thenables et la comparaison avec async/await. Le travail est terminé lorsque les explications concernées sont techniquement exactes, cohérentes avec la spécification et étayées par des exemples ou des références appropriés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Если для Вас важно соответствовать официальной спецификации,
то на странице https://learn.javascript.ru/promise-api ошибочно заявлено, что
Promise **API**
В **классе** Promise есть 5 статических методов. Давайте познакомимся с ними.
Согласно стандарту ECMAScript - Promise это Standard Object.
То есть утверждение, о том, что Promise это API
а так же, что это класс - не отвечает заявленному в спецификации.
Далее на этой же странице
https://learn.javascript.ru/promise-api#promise-resolve-reject
Для Promise.resolve не описано поведение для случаев, когда в качестве значения
используется обьект содержащий метод then
Так же содержит ошибочное утверждение, что
Методы Promise.resolve и Promise.reject редко используются в современном коде, так как синтаксис async/await (мы рассмотрим его чуть позже) делает их, в общем-то, не нужными.
Методы resolve и reject используется регулярно там, где активно работают с асинхронными задачами, которые должны (или могут) выполняться без сохранения порядка их выполнения. Например с Promise.all
Синтаксис async/awaite не может быть им заменой, в силу того, что представляет из себя последовательное
выполнения задач.
Кроме этого, использование async заставляет функцию работать схожим с генератором образом, где каждый awaite приводит в сохранению всего текущего контекста, с полсдеющим его восстановлением. Что драматически сказывается
на производительности. То есть код, который использует промисы, но не испольузет async/awaite как потрбеляет меньше ресурсов, так и выполняется быстрее.
Страница https://learn.javascript.ru/async-await
Как и promise.then, await позволяет работать с промис–совместимыми объектами. Идея в том, что если у объекта можно вызвать метод then, этого достаточно, чтобы использовать его с await.
Некорректно, все обьекты которые содержат метод then называть промис совместимыми.
Уже хотя бы потому, что если метод не будет обслуживать Resolve или Reject функции, то подобный промис
никогда не будет разрешен.
Строго говоря, then - обьекты, обслуживающие (res) => res( result) это дань реактивному программированию,
и к промисам это имеет отношение косвенное. То есть промисы, реализуют контарт then для того, чтобы их
можно было использовать при реактивном программирование без дополнительных костылей.
- Langage dominant
- HTML
- Étoiles
- 4.1k
- Forks
- 922
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de javascript-tutorial/ru.javascript.info
-
suggestion: tutorial
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
javascript-tutorial/ru.javascript.info#2187 · 1 commentaire ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
javascript-tutorial/ru.javascript.info#2163 · 1 commentaire ·
-
[Баг]: Ouvertebug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 65/100
-
[Предложение: учебник]: Ouvertesuggestion: tutorial
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
suggestion: tutorial
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
Toutes les issues de javascript-tutorial/ru.javascript.info
Issues similaires
-
triage
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
feature pydanty:is-working
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
pydantic/pydantic-ai#8647 ·
-
Add date o "release information" Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Add more to the documentation Ouverte:watch: Not Triaged dotnet-fsharp/svc
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100