stdlib-js / stdlib-js/stdlib

[RFC]: Refactor mapFunAsync to Include Status Tracking

Abierto
#5,800 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
6k
Forks
1.3k
Merge medio
1 d 3 h
PR fusionados (30 d)
611

Descripción

### 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:`.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start at the mapFunAsync implementation in @stdlib/utils-async-map-function and review its existing tests and documentation. Compare the proposed status, getStatus(), and cancel() API with the async.js parity goal and related issue #9. Done means the refactored API, tests, and documentation consistently describe and validate status tracking.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript
Área
backend
Tipo de issue
Refactorización
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.