You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It appears that the invocation of each step is wrapped in nextTick(). This makes some things very difficult. For example, opening a ReadableStream via http.request in a pipeline and passing the stream to a further step or 'end' event before a 'data' event is triggered.
If there isn't a good reason to wrap everything in nextTick it should probably removed. Alternately a pipeline could be indicated as synchronous somehow and nextTick could be conditionally used.
The text was updated successfully, but these errors were encountered:
Whether nextTick is there or not, attaching stream event emitters asynchronously is likely problematic because you increase chance of race conditions. If you are running a synchronous pipeline, then you may want to just use a single function.
nextTick() is there to increase pipeline concurrency and keep smaller call stack in high load scenarios. If an asynchronously calling distinct closures cause a problem, then it might be best to refactor the pipeline design.
It appears that the invocation of each step is wrapped in nextTick(). This makes some things very difficult. For example, opening a ReadableStream via http.request in a pipeline and passing the stream to a further step or 'end' event before a 'data' event is triggered.
If there isn't a good reason to wrap everything in nextTick it should probably removed. Alternately a pipeline could be indicated as synchronous somehow and nextTick could be conditionally used.
The text was updated successfully, but these errors were encountered: