then() V4

返回一个 Promise,当时间线完成时,该 Promise 会被解析并执行回调。

then() 方法可以这样直接内联使用

createTimeline(parameters).add(targets, parameters).then(callback);

或在 async / await 上下文中使用

async function waitForTimelineToComplete() {
  return createTimeline()
  .add('.square', { x: 100 })
  .add('.square', { y: 100 });
}

const asyncTimeline = await waitForTimelineToComplete();

参数

名称 类型
回调函数 一个 Function,其第一个参数是时间轴本身

返回

Promise

then() 代码示例

import { createTimeline, utils } from 'animejs';

const [ $value ] = utils.$('.value');

const tl = createTimeline({
  defaults: { duration: 500 },
  loop: 1,
})
.add('.circle', { x: '15rem' })
.add('.triangle', { x: '15rem' })
.add('.square', { x: '15rem' });

tl.then(() => $value.textContent = 'fulfilled');
<div class="large row">
  <div class="medium pyramid">
    <div class="triangle"></div>
    <div class="square"></div>
    <div class="circle"></div>
  </div>
  <pre class="large log row">
    <span class="label">promise status</span>
    <span class="value">pending</span>
  </pre>
</div>