this
への正しい参照を格納するために、次のコードブロックがあります。 私はModels.Image
のためにMongooseを使用しています。self =これはコールバック内のself.functionにアクセスできません
class some {
public one() {
var self = this;
this.another(); //edited: this.another() is not a function
Models.Image.findById(id).then(function(data) {
self.another(); //self.another is not a function
....
});
}
public another() {
....
}
}
リンターはthis
するself
を示したが、私はそれを実行したとき、私にエラーを与えています。ここで何が起きてるの?どのようにそれを解決するには?
クラスはルートを表すためにバインドされたルートハンドラです。
私はさらに追加したいと思います。 one()
(コールバックではない)内のthis.another()
を呼び出すと、まだ私にis not a function
エラーが表示されます。何とか、this
はクラスを参照していません。 何が問題なのですか?
それは問題はあなたが含ま限られたコードであるかを理解するのは難しいです。それは大丈夫だと思われますが、問題があるので、あなたのコードをもっと含めればそれが最善になるでしょう。サイドノートでは、矢印関数を使うことができるので、この 'self = this'は必要ありません。 –
どのように 'one()'を呼びますか? – JohnnyHK
問題を更新しました。 –