stdlib-js / stdlib-js/stdlib

[RFC]: Refactor mapFunAsync to Include Status Tracking

Open
#5,800 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
6k
Forks
1.3k
Avg merge
1d 3h
Merged PRs (30d)
611

Description

### Description

This RFC proposes refactoring the mapFunAsync function in @stdlib/utils-async-map-function to return an object that allows querying the status of in-flight asynchronous operations. This aligns with the goal of achieving feature parity with async.js while improving observability of async execution states.

### Related Issues

Related issues #9 which states that we need to achive parity with async.js.
Changes:

Modified mapFunAsync to return an object containing:

status: Tracks the state (pending, completed, or error).

getStatus(): Method to retrieve the current state.

cancel(): Method to cancel execution (if applicable in the future).

Updated tests to validate the new behavior.

Updated documentation to reflect the API changes.

Motivation:
This refactor improves the usability of mapFunAsync by enabling users to track ongoing async operations, which is particularly useful in long-running tasks or when debugging async workflows.
@kgryte @Planeshifter @steff456

### Questions

No.

### Other

No.

### Checklist

- [x] I have read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [x] Searched for existing issues and pull requests.
- [x] The issue name begins with `RFC:`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.