|
|
@@ -3,6 +3,7 @@
|
|
|
import config from '../config'
|
|
|
import { warn } from './debug'
|
|
|
import { inBrowser, inWeex } from './env'
|
|
|
+import { isPromise } from 'shared/util'
|
|
|
|
|
|
export function handleError (err: Error, vm: any, info: string) {
|
|
|
if (vm) {
|
|
|
@@ -26,7 +27,7 @@ export function handleError (err: Error, vm: any, info: string) {
|
|
|
|
|
|
export function handlePromiseError (value: any, vm: any, info: string) {
|
|
|
// if value is promise, handle it (a promise must have a then function)
|
|
|
- if (value && typeof value.then === 'function' && typeof value.catch === 'function') {
|
|
|
+ if (isPromise(value)) {
|
|
|
value.catch(e => handleError(e, vm, info))
|
|
|
}
|
|
|
}
|