FuturableTask.reject()
Create a task that immediately fails with an error.
Syntax
typescript
FuturableTask.reject<T = never>(reason: any): FuturableTask<T>Parameters
reason
The error or reason for rejection.
Return Value
A FuturableTask<T> that fails with the provided reason.
Description
Creates a task that immediately fails when executed. Useful for error handling chains, testing, or representing known error states.
Examples
Basic Usage
typescript
const task = FuturableTask.reject(new Error('Failed'));
try {
await task.run();
} catch (error) {
console.log(error.message); // "Failed"
}Error Handling Chain
typescript
const task = FuturableTask
.reject(new Error('Primary failed'))
.fallbackTo(() => fallbackValue);
const result = await task.run(); // fallbackValueConditional Errors
typescript
const validateTask = (data: any) =>
data.valid
? FuturableTask.resolve(data)
: FuturableTask.reject(new Error('Invalid data'));Testing Error Paths
typescript
// Test error handling in your application
const mockError = FuturableTask.reject(
new Error('Network error')
);
const result = await mockError.runSafe();
expect(result.success).toBe(false);With orElse
typescript
const task = FuturableTask
.reject(new Error('First attempt'))
.orElse(() => FuturableTask.of(() => secondAttempt()))
.orElse(() => FuturableTask.resolve(defaultValue));See Also
- resolve() - Create a successful task
- fallbackTo() - Handle errors
- orElse() - Alternative tasks
