]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
chore(shared): improve isPromise check in accordance with Promise A+ specification...
author丶远方 <yangpanteng@gmail.com>
Tue, 11 Jul 2023 09:41:09 +0000 (17:41 +0800)
committerGitHub <noreply@github.com>
Tue, 11 Jul 2023 09:41:09 +0000 (17:41 +0800)
packages/shared/src/general.ts

index 4138b2730e6b235cf7ce26cf71aea342b5b42e51..59a1e911b6c5948bb042bdc70ec0fccb35169749 100644 (file)
@@ -50,7 +50,11 @@ export const isObject = (val: unknown): val is Record<any, any> =>
   val !== null && typeof val === 'object'
 
 export const isPromise = <T = any>(val: unknown): val is Promise<T> => {
-  return isObject(val) && isFunction(val.then) && isFunction(val.catch)
+  return (
+    (isObject(val) || isFunction(val)) &&
+    isFunction(val.then) &&
+    isFunction(val.catch)
+  )
 }
 
 export const objectToString = Object.prototype.toString