Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fa286b0

Browse files
author
Guillaume Chau
committed
feat(ssr): context.onRenderComplete
1 parent 5686aa4 commit fa286b0

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

‎src/server/create-renderer.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ export function createRenderer ({
7979
}, cb)
8080
try {
8181
render(component, write, context, err => {
82+
if (context && context.onRenderComplete) {
83+
context.onRenderComplete(context)
84+
}
8285
if (template) {
8386
result = templateRenderer.renderSync(result, context)
8487
}
@@ -106,13 +109,23 @@ export function createRenderer ({
106109
render(component, write, context, done)
107110
})
108111
if (!template) {
112+
if (context && context.onRenderComplete) {
113+
renderStream.once('beforeEnd', () => {
114+
context.onRenderComplete(context)
115+
})
116+
}
109117
return renderStream
110118
} else {
111119
const templateStream = templateRenderer.createStream(context)
112120
renderStream.on('error', err => {
113121
templateStream.emit('error', err)
114122
})
115123
renderStream.pipe(templateStream)
124+
if (context && context.onRenderComplete) {
125+
renderStream.once('beforeEnd', () => {
126+
context.onRenderComplete(context)
127+
})
128+
}
116129
return templateStream
117130
}
118131
}

‎src/server/render-stream.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export default class RenderStream extends stream.Readable {
4242
})
4343

4444
this.end = () => {
45+
this.emit('beforeEnd')
4546
// the rendering is finished; we should push out the last of the buffer.
4647
this.done = true
4748
this.push(this.buffer)

0 commit comments

Comments
 (0)