所有这四个函数在 update
返回承诺中调用如下。
async function update() {
var urls = await getCdnUrls();
var metadata = await fetchMetaData(urls);
var content = await fetchContent(metadata);
await render(content);
return;
}
如果我们想在任何给定时间从外部终止序列会怎样?
例如,当执行 fetchMetaData
时,我们意识到我们不再需要呈现组件,我们想取消剩余的操作(fetchContent
和 render
)。有没有办法从 update
函数之外中止/取消这些操作?
我们可以在每个 await
之后检查一个条件,但是这似乎是一个不雅的解决方案,即使那样,我们也必须等待当前操作完成。