包含用于检查动画状态的 state 属性。当动画状态为 finished
时,视图动画则被解决;如果为 stopped
,则被拒绝。
reactiveUtils.when(() => view.animation, function(animation) {
console.log(animation.state); // prints out "running"
animation.when(function(animation) {
console.log(animation.state); // prints out "finished"
})
.catch(function(animation) {
console.log(animation.state); // prints out "stopped"
});
});
或者,可以观察 state 属性的变化:
let animation = view.goTo(target, { speedFactor: 0.1 });
animation.watch("state", function(state) {
switch (state) {
case "finished":
console.log("Animation finished.");
break;
case "stopped":
console.log("Animation stopped.");
break;
}
});
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 类的名称。 更多详情 | Accessor | |
String | 动画的状态。 更多详情 | ViewAnimation | |
Viewpoint | 动画的目标。 更多详情 | ViewAnimation |
属性详细信息
-
起始版本:GeoScene Maps SDK for JavaScript 4.7
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
state Stringreadonly
-
动画的状态。
当状态为
finished
或stopped
时,动画将终止,并且无法再次转换为running
。finished
状态表示动画已成功结束,而stopped
状态表示动画在完成最终目标之前被中断。可能值:"running"|"finished"|"stopped"|"waiting-for-target"
- 默认值:running
-
target Viewpoint
-
动画的目标。
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
通过立即转到目标来完成视图动画并将动画的状态设置为 | ViewAnimation | ||
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
Boolean |
| ViewAnimation | |
Boolean |
| ViewAnimation | |
Boolean |
| ViewAnimation | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
在视图动画的当前状态将其停止,并将动画的状态设置为 | ViewAnimation | ||
Promise | 一旦创建了类的实例,就可以使用 | ViewAnimation |
方法详细说明
-
addHandles(handleOrHandles, groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); // Handle gets removed when the object is destroyed. this.addHandles(handle);
参数handleOrHandles WatchHandle|WatchHandle[]对象销毁后,标记为要移除的句柄。
groupKey *optional标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
finish()
-
通过立即转到目标来完成视图动画并将动画的状态设置为
finished
。
-
起始版本:GeoScene Maps SDK for JavaScript 4.25
-
如果存在指定的句柄组,则返回 true。
参数groupKey *optional组键。
返回类型 描述 Boolean 如果存在指定的句柄组,则返回 true
。示例// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
isFulfilled(){Boolean}
-
isFulfilled()
可用于验证创建类的实例是否已完成 (已解决或已拒绝)。如果满足,则返回true
。返回类型 描述 Boolean 指示创建类的实例是否已完成 (已解决或已拒绝)。
-
isRejected(){Boolean}
-
isRejected()
可用于验证创建类的实例是否被拒绝。如果被拒绝,则返回true
。返回类型 描述 Boolean 指示创建类的实例是否已被拒绝。
-
removeHandles(groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
移除对象拥有的句柄组。
参数groupKey *optional要移除的组键或组键的数组或集合。
示例obj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
stop()
-
在视图动画的当前状态将其停止,并将动画的状态设置为
stopped
。
-
when(callback, errback){Promise}起始版本:GeoScene Maps SDK for JavaScript 4.6
-
一旦创建了类的实例,就可以使用
when()
。此方法接受两个输入参数:callback
函数和errback
函数。callback
在类的实例加载时执行。errback
在类的实例无法加载时执行。参数callback Functionoptional当 promise 解决时调用的函数。
errback Functionoptional当 promise 失败时执行的函数。
返回类型 描述 Promise 返回 callback
结果的新承诺,可用于链接其他函数。示例// Although this example uses MapView, any class instance that is a promise may use when() in the same way let view = new MapView(); view.when(function(){ // This function will execute once the promise is resolved }, function(error){ // This function will execute if the promise is rejected due to an error });