HowProgrammingWorks / HowProgrammingWorks/AsynchronousProgramming

`.do` arguments not passed correctly

Aperta
#14 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
JavaScript
Stelle
23
Fork
26
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia esaminando l’implementazione della catena di callback in 5a-chain e l’esempio di utilizzo che mostra readConfig, selectFromDb, getHttpPage e readFile. Traccia il modo in cui gli argomenti vengono passati attraverso ogni chiamata a .do(), quindi verifica che i callback documentati ricevano gli argomenti espliciti e quelli del callback precedente previsti invece di undefined.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.