From fc19e3e12e892cf5b562c81d7adb5ad21c6babc4 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Thu, 9 Aug 2018 10:22:42 +0200 Subject: [PATCH] Avoid block scope issues in transpiled code --- src/ol/View.js | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/ol/View.js b/src/ol/View.js index f2607fad4c..6583af494d 100644 --- a/src/ol/View.js +++ b/src/ol/View.js @@ -428,9 +428,7 @@ class View extends BaseObject { this.setRotation(state.rotation); } if (callback) { - setTimeout(function() { - callback(true); - }, 0); + animationCallback(callback, true); } return; } @@ -517,7 +515,7 @@ class View extends BaseObject { for (let i = 0, ii = this.animations_.length; i < ii; ++i) { const series = this.animations_[i]; if (series[0].callback) { - series[0].callback(false); + animationCallback(series[0].callback, false); } } this.animations_.length = 0; @@ -592,9 +590,7 @@ class View extends BaseObject { this.setHint(ViewHint.ANIMATING, -1); const callback = series[0].callback; if (callback) { - setTimeout(function() { - callback(true); - }, 0); + animationCallback(callback, true); } } } @@ -1069,7 +1065,7 @@ class View extends BaseObject { } else { this.setResolution(resolution); this.setCenter(center); - setTimeout(callback.bind(undefined, true), 0); + animationCallback(callback, true); } } @@ -1181,6 +1177,17 @@ class View extends BaseObject { } +/** + * @param {Function} callback Callback. + * @param {*} returnValue Return value. + */ +function animationCallback(callback, returnValue) { + setTimeout(function() { + callback(returnValue); + }, 0); +} + + /** * @param {module:ol/View~ViewOptions} options View options. * @return {module:ol/centerconstraint~Type} The constraint.