microsoft / microsoft/TypeScript
More strong Promise<T> in lib.es6.d.ts
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.4k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
I think it would be good to be able to define the type of error in Promise type. I suggest promise type to be something like this:
interface Promise<T,U> {
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: U) => TResult | PromiseLike<TResult>): Promise<TResult>;
then<TResult>(onfulfilled?: (value: T) => TResult | PromiseLike<TResult>, onrejected?: (reason: U) => void): Promise<TResult>;
/**
* Attaches a callback for only the rejection of the Promise.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of the callback.
*/
catch(onrejected?: (reason: U) => T | PromiseLike<T>): Promise<T>;
catch(onrejected?: (reason: U) => void): Promise<T>;
[Symbol.toStringTag]: string;
}
Or at least have a Promise<T, U> type which extends Promise<T>.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con las declaraciones de Promise en lib.es6.d.ts y compáralas con la forma propuesta de Promise<T,U> con dos parámetros en el issue. Revisa cómo afecta la propuesta a then y catch, incluida la compatibilidad con el uso existente de Promise. Se considera terminado cuando el diseño previsto de rechazo tipado esté acordado y reflejado en las declaraciones relevantes y en la cobertura de validación.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- compilers
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100