如下代码,如果图片下载OK之前 node 被销毁了,就不会 resolve 或者 reject 了, 这样写 没啥问题吧。
搜了下,What happens if you don’t resolve or reject a promise?
说是没啥问题。大家怎么看?
loadRemoteSpriteFrame(url: string, node: Node) {
return new Promise<SpriteFrame>((resolve, reject) => {
assetManager.loadRemote<ImageAsset>(url, (err, imageAsset) => {
if (err) {
return reject(err);
}
if (isValid(node)) {
let sf = new SpriteFrame();
let texture = new Texture2D();
texture.image = imageAsset;
sf.texture = texture;
resolve(sf);
}
});
});
}