Skip to content

Commit 9344bd7

Browse files
committed
better bundle renderer error handling
1 parent 5854f0f commit 9344bd7

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/server/create-bundle-renderer.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,16 @@ export function createBundleRendererCreator (createRenderer) {
88
renderToString: (context, cb) => {
99
runInVm(code, context).then(app => {
1010
renderer.renderToString(app, cb)
11-
})
11+
}).catch(cb)
1212
},
1313
renderToStream: (context) => {
1414
const res = new PassThrough()
1515
runInVm(code, context).then(app => {
1616
renderer.renderToStream(app).pipe(res)
17+
}).catch(err => {
18+
process.nextTick(() => {
19+
res.emit('error', err)
20+
})
1721
})
1822
return res
1923
}

src/server/run-in-vm.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ export default function runInVm (code, _context) {
3030
const res = Object.prototype.hasOwnProperty.call(m.exports, 'default')
3131
? m.exports.default
3232
: m
33-
if (typeof res.then !== 'function') {
34-
throw new Error('SSR bundle should export a Promise.')
35-
}
36-
return res
33+
// ensure returning a Promise
34+
return Promise.resolve(res)
3735
}

0 commit comments

Comments
 (0)