From 29349d275e4105bf707b0ffa169d9d2000805889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Kr=C3=B6g?= Date: Wed, 24 Feb 2021 18:37:30 +0100 Subject: [PATCH] Always return Promise from getFeatures --- src/ol/layer/Layer.js | 3 +++ src/ol/renderer/canvas/VectorImageLayer.js | 18 +++++++----------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/ol/layer/Layer.js b/src/ol/layer/Layer.js index 14448b239f..be4b5245ff 100644 --- a/src/ol/layer/Layer.js +++ b/src/ol/layer/Layer.js @@ -210,6 +210,9 @@ class Layer extends BaseLayer { * an array of features. */ getFeatures(pixel) { + if (!this.renderer_) { + return new Promise((resolve) => resolve([])); + } return this.renderer_.getFeatures(pixel); } diff --git a/src/ol/renderer/canvas/VectorImageLayer.js b/src/ol/renderer/canvas/VectorImageLayer.js index 2bb1aaa272..ec3689b4c7 100644 --- a/src/ol/renderer/canvas/VectorImageLayer.js +++ b/src/ol/renderer/canvas/VectorImageLayer.js @@ -63,18 +63,14 @@ class CanvasVectorImageLayerRenderer extends CanvasImageLayerRenderer { * @return {Promise>} Promise that resolves with an array of features. */ getFeatures(pixel) { - if (this.vectorRenderer_) { - const vectorPixel = apply( - this.coordinateToVectorPixelTransform_, - apply(this.renderedPixelToCoordinateTransform_, pixel.slice()) - ); - return this.vectorRenderer_.getFeatures(vectorPixel); - } else { - const promise = new Promise(function (resolve, reject) { - resolve([]); - }); - return promise; + if (!this.vectorRenderer_) { + return new Promise((resolve) => resolve([])); } + const vectorPixel = apply( + this.coordinateToVectorPixelTransform_, + apply(this.renderedPixelToCoordinateTransform_, pixel.slice()) + ); + return this.vectorRenderer_.getFeatures(vectorPixel); } /**