then() V4
返回一个 Promise
,当时间线完成时,该 Promise
会 resolve 并执行回调。
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();
参数
名称 | 类型 |
---|---|
callback | 一个 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>