developit / developit/greenlet
Make greenlet working with a pool of Promises
- Lenguaje dominante
- JavaScript
- Estrellas
- 4.7k
- Forks
- 97
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hi guys, maybe I'm wrong and need to give it a better look at service workers but what I'm trying to accomplish is the following:
1- I'd like to pass to greenlet an array of promises like the Promise.all(promises) return.
2- Await for them inside the greenlet function.
3- returning the result to the main app.
This is my code:
```
try {
const promises = validationAuto(chunk, workarea, criteria, test_groups);
if (window.Worker) {
validationAutoWorkerized(promises);
} else {
await promises;
}
} catch (error) {
console.log(error);
}
```
```
const validationAuto = (chunk, workarea, criteria, test_groups) => {
const validationPromises = chunk.map(id => {
return new Promise((resolve, reject) => {
postWorkareaValidationAuto(workarea, id, criteria, test_groups)
.then(response => resolve(response))
.catch(error => reject(error));
});
});
return Promise.all(validationPromises);
};
```
```
const validationAutoWorkerized = greenlet(async promises => {
const data = await promises;
console.log(data);
return data;
});
```
Any tip to accomplish it with greenlet? Thanks.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza con los fragmentos validationAuto y validationAutoWorkerized del issue; después, lee el manejo del argumento worker y de los valores de retorno de greenlet, así como su documentación o ejemplos de entradas asíncronas. Reproduce el flujo de Promise.all en un ejemplo mínimo para navegador; done debe establecer claramente si este uso es compatible y documentar el comportamiento requerido o las limitaciones.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript
- Área
- web-dev
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 28/100