私はコールバック地獄を無効にする約束を使用しています。タイプ「約束<Document>は」「約束<Document>」を入力する割り当てられない
しかし、私は型キャストの問題に会いました。ここ
が私のメソッドまたは関数が定義されている約
findById(entityId: string): Promise<mongoose.Document> {
return this._model.findById(entityId).exec();
}
typescriptですヒントいくつかのエラー:
[TS]型 '約束' '約束' を型に代入できません。プロパティの 種類「は、」互換性がありません。 タイプ '(onFulFill:(結果:ドキュメント)=>ボイド| U |プロミス、onReject?:(ERR:任意)=>ボイド| U | P ...'?:{(onfulfilled」タイプに割り当てません(値:ドキュメント)=> TResult | PromiseLike、onrejected :(reas ... ') タイプ' Promise 'に' Promise 'を割り当てることはできません。 ' Promise 'タイプの' catch 'プロパティがありません。
私は、この問題を無効にする方法を知りたいですか?
があるように思えますあなたが使用している2つの異なる 'Promise'タイプ。関数のシグネチャで返すと宣言したものは、 'exec()'が返すものと同じではありません。 –
this._modelはmongooseオブジェクト、exec()はPromiseを返します。mongoose.Docment> –
mongooseはA + promiseライブラリを使用しています。これはネイティブ実装とは異なる実装です。あなたはそれらの両方を混ぜているようです –