diff --git a/packages/browser/src/transports/utils.ts b/packages/browser/src/transports/utils.ts index 5fc614d6b86f..5a8e17b42019 100644 --- a/packages/browser/src/transports/utils.ts +++ b/packages/browser/src/transports/utils.ts @@ -1,4 +1,4 @@ -import { forget, getGlobalObject, isNativeFetch, logger, supportsFetch } from '@sentry/utils'; +import { getGlobalObject, isNativeFetch, logger, supportsFetch } from '@sentry/utils'; import { IS_DEBUG_BUILD } from '../flags'; @@ -98,13 +98,11 @@ export function sendReport(url: string, body: string): void { if (supportsFetch()) { const fetch = getNativeFetchImplementation(); - return forget( - fetch(url, { - body, - method: 'POST', - credentials: 'omit', - keepalive: true, - }), - ); + fetch(url, { + body, + method: 'POST', + credentials: 'omit', + keepalive: true, + }).then(null, error => logger.error(error)); } } diff --git a/packages/node/src/integrations/utils/errorhandling.ts b/packages/node/src/integrations/utils/errorhandling.ts index aa79eebcaee8..587840d040b5 100644 --- a/packages/node/src/integrations/utils/errorhandling.ts +++ b/packages/node/src/integrations/utils/errorhandling.ts @@ -1,5 +1,5 @@ import { getCurrentHub } from '@sentry/core'; -import { forget, logger } from '@sentry/utils'; +import { logger } from '@sentry/utils'; import { NodeClient } from '../../client'; import { IS_DEBUG_BUILD } from '../../flags'; @@ -24,12 +24,13 @@ export function logAndExitProcess(error: Error): void { const timeout = (options && options.shutdownTimeout && options.shutdownTimeout > 0 && options.shutdownTimeout) || DEFAULT_SHUTDOWN_TIMEOUT; - forget( - client.close(timeout).then((result: boolean) => { + client.close(timeout).then( + (result: boolean) => { if (!result) { IS_DEBUG_BUILD && logger.warn('We reached the timeout for emptying the request buffer, still exiting now!'); } global.process.exit(1); - }), + }, + error => logger.error(error), ); } diff --git a/packages/utils/src/async.ts b/packages/utils/src/async.ts deleted file mode 100644 index e811fe25c4a6..000000000000 --- a/packages/utils/src/async.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Consumes the promise and logs the error when it rejects. - * @param promise A promise to forget. - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function forget(promise: PromiseLike): void { - void promise.then(null, e => { - // TODO: Use a better logging mechanism - // eslint-disable-next-line no-console - console.error(e); - }); -} diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 4d33eeab55e3..0f004218c052 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,4 +1,3 @@ -export * from './async'; export * from './browser'; export * from './dsn'; export * from './error'; diff --git a/packages/utils/test/async.test.ts b/packages/utils/test/async.test.ts deleted file mode 100644 index d4edbeca7129..000000000000 --- a/packages/utils/test/async.test.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { forget } from '../src/async'; - -describe('forget', () => { - const console = { - error: jest.fn(), - log: jest.fn(), - }; - - beforeEach(() => { - global.console = console as any as Console; - }); - - test('logs rejections to console.error', done => { - const error = new Error(); - forget(Promise.reject(error)); - - setImmediate(() => { - expect(console.error).toHaveBeenCalledWith(error); - done(); - }); - }); -});