Описание Promise расходиться с официальной спецификацией
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 32/100
- Tipo de issue
- Documentação
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript
- Domínio
- documentation
Direção de pesquisa
Revise as seções referenciadas de promise-api e async-await, comparando sua terminologia e suas afirmações com a especificação ECMAScript. Verifique a discussão sobre Promise.resolve, o tratamento de thenables e a comparação com async/await. Considera-se concluído quando as explicações afetadas estiverem tecnicamente corretas, consistentes com a especificação e apoiadas por exemplos ou referências apropriados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Если для Вас важно соответствовать официальной спецификации,
то на странице 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 для того, чтобы их
можно было использовать при реактивном программирование без дополнительных костылей.
- Linguagem predominante
- HTML
- Estrelas
- 4.1k
- Forks
- 922
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de javascript-tutorial/ru.javascript.info
-
suggestion: tutorial
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
javascript-tutorial/ru.javascript.info#2187 · 1 comentário ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
javascript-tutorial/ru.javascript.info#2163 · 1 comentário ·
-
[Баг]: Abertabug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
-
[Предложение: учебник]: Abertasuggestion: tutorial
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
suggestion: tutorial
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
Todas as issues de javascript-tutorial/ru.javascript.info
Issues semelhantes
-
triage
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
feature pydanty:is-working
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
pydantic/pydantic-ai#8647 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
:watch: Not Triaged dotnet-fsharp/svc
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100