trycatch-fire
v1.0.5
Published
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.
Downloads
2
Readme
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.