Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
for (const tile of tiles) {
let promise: IFuture
if (this.positionToSceneId.has(tile)) {
promise = this.positionToSceneId.get(tile)!
} else {
promise = future()
this.positionToSceneId.set(tile, promise)
missingTiles.push(tile)
}
futures.push(promise.then((id) => [tile, id]))
}
if (missingTiles.length > 0) {
const scenes = await this.catalyst.fetchEntitiesByPointers(EntityType.SCENE, missingTiles)
// resolve promises
for (const scene of scenes) {
for (const tile of scene.pointers) {
if (this.positionToSceneId.has(tile)) {
const promise = this.positionToSceneId.get(tile)
promise!.resolve(scene.id)
} else {
// if we get back a pointer/tile that was not pending => create the future and resolve
const promise = future()
promise.resolve(scene.id)
this.positionToSceneId.set(tile, promise)
}
}
const sceneId = scene.id