diff --git a/packages/core/src/exports.ts b/packages/core/src/exports.ts index 92e4d09d4d81..ea6508ced8b4 100644 --- a/packages/core/src/exports.ts +++ b/packages/core/src/exports.ts @@ -174,21 +174,21 @@ export function withMonitor( throw e; } - if (isThenable(maybePromiseResult)) { - Promise.resolve(maybePromiseResult).then( - () => { - finishCheckIn('ok'); - }, - e => { - finishCheckIn('error'); - throw e; - }, - ); - } else { + if (!isThenable(maybePromiseResult)) { finishCheckIn('ok'); + return maybePromiseResult; } - return maybePromiseResult; + return maybePromiseResult.then( + result => { + finishCheckIn('ok'); + return result; + }, + e => { + finishCheckIn('error'); + throw e; + }, + ) as T; }); }