microsoft / microsoft/TypeScript

Changed behaviour in TS2.1 for Promise<void>

Ouverte
#12,871 12 commentaires 15 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

In Discussion Suggestion
Langage dominant
Go
Étoiles
111k
Forks
14.4k
Merge moyen
1 j 19 h
PR mergées (30 j)
117

Description

In typescript 2.0 any promise could be used a promise of type void, this does not seem to be the case in typescript 2.1.

I couldn't find this listed as a breaking change or any existing tickets so raised this one.

TypeScript Version: 2.1.4

Code

function testVoidPromises(promiseA: Promise<void>, promiseB: Promise<void>): Promise<void> {
	return Promise.all([promiseA, promiseB]);
}

Expected behavior:
This compiles without errors in typescript 2.0

Actual behavior:
This fails to compile in typescript 2.1.4 with the following error:
test.ts(2,9): error TS2322: Type 'Promise<[void, void]>' is not assignable to type 'Promise'.
Type '[void, void]' is not assignable to type 'void'.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par compiler l’exemple test.ts fourni avec TypeScript 2.1.4 et comparez-le à TypeScript 2.0, en vous concentrant sur le type de retour inféré de Promise.all. Suivez les définitions de types de Promise.all ou le comportement du checker concernés ; le travail est terminé lorsque la compatibilité attendue avec Promise est rétablie ou que le comportement modifié est documenté par un test de régression approprié.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
compilers
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.