HowProgrammingWorks / HowProgrammingWorks/AsynchronousProgramming

`.do` arguments not passed correctly

Aberta
#14 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
JavaScript
Estrelas
23
Forks
26
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

The current implementation of the callback chain in 5a-chain passes data from the previous callback but doesn't pass arguments explicitly mentioned in .do().

In usage example readConfig callback is expected to receive myConfig as an argument.

const startChain = chain()
  .do(readConfig, 'myConfig')
  .do(selectFromDb, 'select * from cities')
  .do(getHttpPage, 'http://kpi.ua')
  .do(readFile, 'README.md');

However it receives undefined instead.

So if callbacks would really depend on the previous one the chain would fail once it was called.

Also, should only the first callback in the chain receive an explicit argument, and the following ones receive their arguments from the previous one? Or should they receive both explicit and implicit arguments?

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece inspecionando a implementação da cadeia de callbacks em 5a-chain e o exemplo de uso que mostra readConfig, selectFromDb, getHttpPage e readFile. Rastreie como os argumentos são passados por cada chamada a .do() e, em seguida, verifique se os callbacks documentados recebem os argumentos explícitos e do callback anterior esperados, em vez de undefined.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript
Domínio
backend
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.