如何在使用 loaders.gl 的 load 方法发出获取请求时中止该请求

问题描述 投票:0回答:1

在使用deck.gl的TileLayer getTileData时,如果想中止对不在当前视口中的tile的请求,该怎么办?

fetch load
1个回答
0
投票

加载(loaders.gl)

获取

如果您使用的是dececkgl的TileLayer,在getTileData中,您可以传递第二个参数来加载为

{ fetch: { signal: tile.signal } }
,其中tile是来自getTileData的参数

这是完整的代码

getTileData: (tile: any) => {
  const {
    west, south, east, north
  } = tile.bbox;

  if (tile.signal.aborted) {
    return null;
  }
  
  return load(`${tile.url}${south},${west},${north},${east}`, { fetch: { signal: tile.signal } });
},

因此,如果图块不在视口中,那么它将自动取消。

© www.soinside.com 2019 - 2024. All rights reserved.