Ob es sich um ein ES6-Versprechen oder ein Bluebird-Versprechen, ein Q-Versprechen usw. handelt.
Wie teste ich, ob ein bestimmtes Objekt ein Versprechen ist?
.thenMethode verfügbar macht, die kein Versprechen ist, sich nicht wie ein Versprechen verhält und nicht die Absicht hatte, wie ein Versprechen verwendet zu werden. Überprüfen auf eine .thenMethode sagt Ihnen , nur , dass das , wenn das Objekt nicht eine hat .thenMethode, dann sind Sie nicht haben ein Versprechen. Die inverse - , dass die Existenz eines .thenVerfahrens bedeutet , dass Sie tun , ein Versprechen haben - ist nicht unbedingt wahr.
.thenMethode gibt. Ja, das kann zu Fehlalarmen führen, aber es wird davon ausgegangen, dass sich alle Versprechen-Bibliotheken darauf verlassen (denn darauf können sie sich nur verlassen). Die einzige Alternative, soweit ich sehen kann, besteht darin, den Vorschlag von Benjamin Gruenbaum anzunehmen und ihn durch die Versprechens-Testsuite zu führen. Für den tatsächlichen Produktionscode ist dies jedoch nicht praktikabel.
.thenMethode suchen, aber das würde Ihnen nicht sagen, dass das, was Sie haben, definitiv ein Versprechen ist. Alles, was Sie an diesem Punkt wissen würden, ist, dass Sie etwas haben, das eine.thenMethode enthüllt , wie ein Versprechen.