私はXMLHttpRequest(これはWebGL用です)を介して外部リソースをロードするために使用するクラスを持っていますので、モデル、シェーダなどをロードしています。これらのリクエストをすべて実行してからそれは最終的に私はそれを作成した元の関数からコールバック関数を実行したいです。しかし、そのコールバックを実行しようとすると(ロードしたクラス内のオブジェクトにアクセスできないなど)、私は奇妙な結果を得ています。クラス内の約束の中のコールバック?
私は「この」ロードクラスにして、
self = this;
promise(self.callback());
をやって渡すことによってこの問題を回避することができますが、私はむしろ、私はそれがそのロードが行われた後にコールバックしたい関数を指定のです。これができるかどうか誰にも分かりますか?
メインクラス
this.loadingClass = new LoadingClass(this.LoadingComplete, resources);
Main.prototype.LoadingComplete = function()
{
// Returns undefined if i specify the callback function instead of just "this"
console.log(this.loadingClass.anyOfTheMembersOfThisClass);
}
ロードクラス
LoadingClass = function(callback, resources) {
..
Promise.all(resources).then(function(loadedResources)
{
..
callback();
});
}