"then"メソッドを持つクラスを作成しました。このクラスはPromise型とは無関係です。 "then"メソッドは異なる目的を持ち、約束を返さない。私は、このクラスのインスタンスを待って返すTypescript 2.1.4でasync/await関数を書こうとしていますが、VSコードのTypescriptサーバーがエラーを出しています。メソッドの名前を "then"以外に変更すると、エラーはなくなります。エラーのあるasync/"then"と呼ばれるクラスメソッドで待機します
コード例:独自の「その後」メソッドを持つオブジェクトとの約束を使用して、なぜ
class MyClass {
then(): number {
// this method isn't related to Promise.then
return 2 + 2;
}
}
// three errors below go away when "then" is renamed
// [ts] An async function or method must have a valid awaitable return type.
async function my_async(): Promise<MyClass> {
let a: Promise<MyClass> = Promise.resolve(new MyClass());
// [ts] Operand for 'await' does not have a valid callable 'then' member.
let b: MyClass = await a;
// [ts] Return expression in async function does not have a valid callable 'then' member.
return b;
}
誰かが説明できますが許可、または回避されていませんか?
あなたはエラーが何であるかは言いませんでした。それはむしろ重要です。 – Carcigenicate
@Carcigenicateありがとう、私の悪い! – drdrez
コードも記入してください。エラーはあなたの戻り値の型に関係しているようです。 – Carcigenicate