JS - verkettete asynchrone Methoden nacheinander ohne Rückruf oder Änderung

Ich versuche, einem Prototyp einen "Standard-Rückruf" hinzuzufügen, der einer asynchronen Methode eine Rückruffunktion (in Form eines Versprechens) zuweist, wenn keine bereitgestellt wird.

Das Ziel ist es, die Kette von asynchronen Methoden einer Klasse synchron laufen zu lassen

Item.async1().async2()....asyncN()

Beachten Sie, die asynchronen Funktionen selbst erwarten einen Rückruf, aber sie werden nicht als Argumente im Funktionsaufruf übergeben (was mir sagt, dass die Klasse ein Standardverhalten benötigt, wenn die Rückrufsuche fehlschlägt).

Spec gibt an, dass ich das Verhalten oder die Nebenwirkungen der Prototypmethoden nicht direkt ändern kann. Ich kann Prototypmethoden hinzufügen. Wir haben keine Einsicht, wie diese Prototypmethoden implementiert werden.

TLDR: Wie können Sie, ohne die Prototypmethoden zu ändern, N asynchrone Methoden verketten und sicherstellen, dass sie nacheinander ausgeführt werden?

BTW: Das Promisifizieren der fraglichen Prototyp-Methoden wäre hilfreich, wenn ich die versprochenen Versionen implementieren wollte, aber es sieht so aus, als wären wir auf die ursprünglichen Funktionsaufrufe beschränkt.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage