Ohne zu versuchen, über zukünftige Entscheidungen zu berichten, konzentrieren wir uns auf die praktischen Aspekte und das, was bereits bekannt ist.
ES7, wie ES6, bevor es versuchen wird, eine rückwärtskompatible Erweiterung der Sprache zu sein. Vor diesem Hintergrund ist eine abwärtskompatible Konstruktorfunktion im Wesentlichen eine reguläre Funktion (mit einigen Laufzeitbeschränkungen), die mit dem Schlüsselwort new
aufgerufen werden soll. Wenn dies geschieht, wird der Rückgabewert der Funktion speziell behandelt, speziell werden Nicht-Objekt-Rückgabewerte ignoriert und das neu zugeordnete Objekt wird zurückgegeben, während Objekt-Rückgabewerte unverändert zurückgegeben werden (und das neu zugeordnete Objekt verworfen wird). Damit würde Ihr Code dazu führen, dass ein Versprechen zurückgegeben wird und keine "Objektkonstruktion" stattfindet. Ich sehe die Praktikabilität davon nicht und ich nehme an, wenn jemand sich die Zeit nimmt, um herauszufinden, was mit einem solchen Code zu tun ist, wird er abgelehnt.
Auf den Punkt gebracht:
async constructor
ist konzeptionell widersprüchlich. Tags und Links javascript async-await ecmascript-next