Skip to content

Commit 11e4a3d

Browse files
committed
only process promise sugar when resolved value is a plain object (fix #187)
1 parent d8a9147 commit 11e4a3d

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/pipeline.js

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -262,16 +262,18 @@ function loadData (component, transition, hook, cb, cleanup) {
262262
component.$loadingRouteData = true
263263
transition.callHook(hook, component, (data, onError) => {
264264
let promises = []
265-
Object.keys(data).forEach(key => {
266-
let val = data[key]
267-
if (isPromise(val)) {
268-
promises.push(val.then(resolvedVal => {
269-
component.$set(key, resolvedVal)
270-
}))
271-
} else {
272-
component.$set(key, val)
273-
}
274-
})
265+
if (Object.prototype.toString.call(data) === '[object Object]') {
266+
Object.keys(data).forEach(key => {
267+
let val = data[key]
268+
if (isPromise(val)) {
269+
promises.push(val.then(resolvedVal => {
270+
component.$set(key, resolvedVal)
271+
}))
272+
} else {
273+
component.$set(key, val)
274+
}
275+
})
276+
}
275277
if (!promises.length) {
276278
component.$loadingRouteData = false
277279
cb && cb()

0 commit comments

Comments
 (0)