1.0.5 • Published 12 months ago

trycatch-fire v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

tryCatch Function

The tryCatch function is a utility function that enables you to handle asynchronous operations wrapped in a try-catch block. It accepts an asynchronous function and returns a Promise with the result or an error.

Signature

export async function tryCatch<T>(
  fun: () => Promise<T>,
): Promise<[true, T] | [false, Error]>

Parameters

  • fun: A function that returns a Promise. This function will be executed within a try-catch block.

Return Value

The tryCatch function returns a Promise that resolves to either an array with the success status and the result or an array with the error status and the encountered error.

  • true, T: If the function executes successfully, the Promise resolves to an array containing true as the first element, indicating success, and the result (T) as the second element.

  • false, Error: If an error occurs during the execution of the function, the Promise resolves to an array containing false as the first element, indicating failure, and the encountered error (Error) as the second element.

Example Usage

import { tryCatch } from './path/to/tryCatch';

async function fetchData(): Promise<string> {
  // Simulating an asynchronous operation
  return new Promise<string>((resolve, reject) => {
    setTimeout(() => {
      // Resolving the Promise with a result
      resolve('Data successfully fetched');
    }, 2000);
  });
}

async function main() {
  const [success, result] = await tryCatch(fetchData);
  
  if (success) {
    console.log('Operation succeeded:', result);
  } else {
    console.error('Operation failed:', result);
  }
}

main();

In this example, the tryCatch function is used to handle an asynchronous operation (fetchData) that returns a Promise. The tryCatch function wraps the fetchData function in a try-catch block and resolves the Promise with the result or the encountered error. Based on the success status, the appropriate message is logged to the console.

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago