in transform stream transform method, `callback(null, null)` doesn't end stream but `this.push(null); callback()` does
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 76/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- javascript
- Domínio
- stream-processing
Direção de pesquisa
Comece em lib/internal/streams/transform.js, nas linhas 177-179, e compare o comportamento documentado do callback de Transform com a implementação existente do stream. Reproduza a diferença entre callback(null, null) e this.push(null); callback(), depois inspecione os testes relevantes do stream. Está concluído quando ambas as formas encerram o stream consistentemente, conforme descrito.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Version
latest main branch
Platform
irrelevant
Subsystem
stream
What steps will reproduce the bug?
https://nodejs.org/api/stream.html#transform-transformchunk-encoding-callback
callback(null, null) doesn't end stream but this.push(null); callback() does
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior? Why is that the expected behavior?
callback(null, null) and this.push(null); callback() have the same effect (the stream ends).
What do you see instead?
callback(null, null) is different from this.push(null); callback()
Additional information
https://github.com/nodejs/node/blob/main/lib/internal/streams/transform.js#L177-L179
Would it be possible to change this to the following?
if (val !== undefined) {
this.push(val)
}
- Linguagem predominante
- JavaScript
- Estrelas
- 122k
- Forks
- 37.4k
- Merge médio
- 4d 11h
- PRs com merge (30d)
- 294
Preparar o ambiente
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 nodejs/node
-
doc
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
build
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
nodejs/node#66076 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
nodejs/node#65994 · 2 comentários · 2 reações ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia
-
feature request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
nodejs/node#63841 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de nodejs/node
Issues semelhantes
-
agent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 Meio dia Facilidade para iniciantes 78/100
jaegertracing/jaeger-ui#4512 ·
Mantenedores costumam responder em até 1 dia
-
feedback simulation workshop
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
githubnext/gh-aw-workshop#3857 ·
Mantenedores costumam responder em até 2 dias
-
area-clientside-dartpad
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
quarkusio/extensions#3432 ·
Mantenedores costumam responder em até 1 dia