小编Jon*_*s.z的帖子

首先发生什么:setTimeout 0或等待Promise.resolve?

我在Node和Chrome中看到此行为:

setTimeout(()=>{ console.log('timeout') }, 0)
Promise.resolve().then(()=>{ console.log('promise') })
console.log('sync')

// output order:
// sync
// promise
// timeout
Run Code Online (Sandbox Code Playgroud)

我的问题是,这是一致的行为吗?即,根据规范,是否已在已记忆/已解决的承诺中thenawait之前始终触发setTimeout(fn, 0)

我想在以下内容中使用它,如果我的承诺中有记忆的结果,则返回一件事,否则返回:

// somewhere during object initialization
this.resultingPromise = expensiveAsyncFunction()

// in a method called frequently
Promise.race([
    new Promise(resolve => setTimeout(() => resolve('default'), 0)),
    this.resultingPromise
])
Run Code Online (Sandbox Code Playgroud)

javascript promise async-await

5
推荐指数
1
解决办法
308
查看次数

Three.js 纹理何时发送到 GPU?

我正在构建一个从服务器动态加载图像以用作场景中的纹理的应用程序,我正在研究如何正确加载/卸载这些纹理。

我的简单问题是;在 Three.js 调用图中,纹理是否被加载和/或更新到 GPU 中?是在创建纹理 ( var tex = new THREE.Texture()) 时还是将其应用于网格 ( var mesh = new THREE.Mesh(geom, mat)) 时?该纹理类三的说明,创建纹理贴图时不加载。但是我在Mesh 中也找不到任何东西。

我错过了什么吗?纹理是否在渲染循环中加载而不是在对象创建中加载?那可能是有道理的。

提前致谢!

javascript textures gpu three.js

1
推荐指数
1
解决办法
1083
查看次数

标签 统计

javascript ×2

async-await ×1

gpu ×1

promise ×1

textures ×1

three.js ×1