fromPromise()
constfromPromise: <T,E>(promise,errorFn) =>ResultAsync<T,E> =ResultAsync.fromPromise
Convenience export for ResultAsync.fromPromise.
Creates a ResultAsync from a Promise that may reject. The errorFn parameter is used to transform any rejection into an error value.
Type Parametersโ
T: Tโ
The type of the value in the Promise
E: Eโ
The type of the error
Parametersโ
promise: Promise<T>โ
Promise that may resolve or reject
errorFn: (e) => Eโ
Function to transform rejections into error values
Returns: ResultAsync<T, E>โ
A new ResultAsync that will resolve to Ok(value) or Err(error)
Exampleโ
const fetchUser = (id: string) =>
fetch(`/api/users/${id}`).then(r => r.json());
const result = ResultAsync.fromPromise(
fetchUser("123"),
(error) => `Failed to fetch user: ${error}`
);
const resolved = await result;
if (resolved.isOk()) {
console.log(resolved.value); // User data
} else {
console.log(resolved.error); // Error message
}
Sinceโ
2.0.0
Exampleโ
import { fromPromise } from './result-async';
const result = fromPromise(
fetch('/api/data'),
error => `Fetch failed: ${error}`
);