视图适合动画结束时的 Openlayers

Openlayers on view fit animation ends

我正在使用 openlayers 6.5。

我有:

/* Set the features to fill the map */
var extent = ol.extent.createEmpty();
for(var county_id in map['map_internal_data'])
{
    ol.extent.extend(
        extent,
        map['openlayers_features']['counties'][county_id].getGeometry().getExtent()
    );
}
map['openlayers'].getView().fit(
    extent,
    {
        size: map['openlayers'].getSize(),
        padding: [25, 10, 25, 10],
        duration:1000
    }
);

/* I need to call a function here, but only after above animation ends */
function_after_above_animation_ends();

以上代码采用县的几何图形并缩放地图,直到县填满地图。如您所见,那里有一个动画设置:duration:1000.

我需要的是在fit结束后(动画结束后)调用一个函数。

我可以使用 setTimeout 1000,但我认为这不是正确的方法。

我需要 promise...

fit 有一个 callback 选项 https://openlayers.org/en/latest/apidoc/module-ol_View-View.html#fit

map['openlayers'].getView().fit(
    extent,
    {
        size: map['openlayers'].getSize(),
        padding: [25, 10, 25, 10],
        duration:1000,
        callback: myFunction
    }
);