Ich verwende Promise, um Rückruf-Hölle zu stornieren.Typ 'Promise <Document>' kann nicht zugeordnet werden Typ 'Versprechen <Document>'
Aber ich traf das Problem der Typumwandlung.
hier ist meine Methode oder Funktion definieren:
findById(entityId: string): Promise<mongoose.Document> {
return this._model.findById(entityId).exec();
}
Typoskript Spitzen einige Fehler zu:
' Typ.'' Eigentum.'.[ts] Typ 'Versprechen' ist nicht übertragbar 'Versprechen' zu geben. Arten der Eigenschaft 'then' sind nicht kompatibel. Typ '(onFulFill: (Ergebnis: Dokument) => void | U | Versprechen, onReject ?: (err: any) => void | U | P ...' kann nicht dem Typ '{onfulfilled ?: (Wert: Dokument) => TResult | PromiseLike, onrejected ?: (reas ... Versprechen 'nicht übertragbar ist auf den Typ 'Versprechen fangen Versprechen '
'in Typ fehlt'
ich möchte wissen, wie dieses Problem erlöschen?
wie es zwei verschiedene "Promise" -Typen, die Sie verwenden. Derjenige, den Sie in der Funktionssignatur zurückgegeben haben, ist nicht der gleiche wie der, den 'exec()' zurückgibt. –
this._model ist mongoose-Objekt, exec() gibt zurück Promise –
Von dem, was ich gesehen habe, verwendet mongoose die A + -Vermögens-Bibliothek, und das ist eine andere Implementierung als die native Implementierung. Sie scheinen beide zu mischen –