【发布时间】:2016-07-08 23:55:00
【问题描述】:
我有一个类,我用它通过 XMLHttpRequest(这是用于 WebGL)加载外部资源,所以我正在加载模型、着色器等。我的计划是在它完成所有这些请求时放置一个加载显示,然后当它最终完成时,我希望它从创建它的原始函数运行一个回调函数。但是,当我尝试运行该回调时,我得到了奇怪的结果(例如它无法访问执行加载的类中的任何对象)。
我可以通过将“this”传递给加载类然后执行来解决这个问题
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();
});
}
【问题讨论】:
标签: javascript callback promise