动画:ready 属性

基线 广泛可用

此功能已得到良好建立,并且可在许多设备和浏览器版本上运行。自以下时间起,它已在所有浏览器中可用: 2020 年 3 月.

Web 动画 API 的 Animation.ready 只读属性返回一个 Promise,当动画准备好播放时,该属性会解析。每次动画进入 "pending" 播放状态 以及动画被取消时,都会创建一个新的 Promise,因为在这两种情况下,动画都已准备好再次启动。

注意:由于同一 Promise 用于挂起的 play 和挂起的 pause 请求,因此建议作者在 Promise 解析时检查动画的状态。

一个 Promise,当动画准备好播放时解析。使用 ready Promise 时,通常会使用类似以下的结构

js
animation.ready.then(() => {
  // Do whatever needs to be done when
  // the animation is ready to run
});

示例

在以下示例中,当 当前 ready Promise 解析时,动画的状态将为 running,因为动画在调用 pauseplay 之间不会离开 pending 播放状态,因此 当前 ready Promise 不会更改。

js
animation.pause();
animation.ready.then(() => {
  // Displays 'running'
  alert(animation.playState);
});
animation.play();

规范

规范
Web 动画
# dom-animation-ready

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅