我有一个关于视图转换 API 的问题。据我了解,完成的承诺一旦完成准备承诺就会执行。但是谁能帮助我更好地理解为什么你会使用这个完成的承诺?
let lastClick;
addEventListener("click", (event) => (lastClick = event));
function navigateToCards(data) {
if (!document.startViewTransition) {
updateDOM(data);
return;
}
const transition = document.startViewTransition(() => {
updateDOM(data);
});
transition.ready.then(() => {
document.documentElement.animate(
{
transform: [
`translateX(100%)`,
`translateX(0%)`,
],
},
{
duration: 300,
easing: 'ease-in-out',
pseudoElement: "::view-transition-new(cards)",
}
);
});
} This will animate the cards on the other page when i navigate to this page. But can someone help me understand where for i can use the finished promise?
视图转换中的完成的承诺API对于您想要在完成转换动画后执行的任务很有用。在您提供的代码中,未明确使用完成的承诺。尽管如此,在您必须在过渡动画完成后执行某些操作的情况下,它还是很方便的。