Skip to main content

makeCancelSignal()

从 v3.0.15 版本开始可用

此函数返回一个信号和一个取消函数,允许您取消使用 renderMedia()renderStill()renderFrames()stitchFramesToVideo() 触发的渲染。

示例

tsx
import { makeCancelSignal, renderMedia } from "@remotion/renderer";
 
const { cancelSignal, cancel } = makeCancelSignal();
 
// Note that no `await` is used yet
const render = renderMedia({
composition,
codec: "h264",
serveUrl: "https://silly-crostata-c4c336.netlify.app/",
outputLocation: "out/render.mp4",
cancelSignal,
});
 
// Cancel render after 10 seconds
setTimeout(() => {
cancel();
}, 10000);
 
// If the render completed within 10 seconds, renderMedia() will resolve
await render;
 
// If the render did not complete, renderMedia() will reject
// ==> "[Error: renderMedia() got cancelled]"
tsx
import { makeCancelSignal, renderMedia } from "@remotion/renderer";
 
const { cancelSignal, cancel } = makeCancelSignal();
 
// Note that no `await` is used yet
const render = renderMedia({
composition,
codec: "h264",
serveUrl: "https://silly-crostata-c4c336.netlify.app/",
outputLocation: "out/render.mp4",
cancelSignal,
});
 
// Cancel render after 10 seconds
setTimeout(() => {
cancel();
}, 10000);
 
// If the render completed within 10 seconds, renderMedia() will resolve
await render;
 
// If the render did not complete, renderMedia() will reject
// ==> "[Error: renderMedia() got cancelled]"

API

调用 makeCancelSignal 返回一个具有两个属性的对象:

  • cancelSignal:一个要传递给上述渲染函数之一的对象
  • cancel:当您想要取消渲染时应调用的函数。

另请参阅