在给定时间后解析Promise

JavaScriptJavaScriptBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将学习如何使用 JavaScript 创建一个在指定时间后解析为给定值的 Promise。我们将使用 Promise 构造函数创建一个新的 Promise,并使用 setTimeout() 方法延迟 Promise 的解析。在处理 JavaScript 中的异步操作时,这项技能至关重要。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/AdvancedConceptsGroup(["`Advanced Concepts`"]) javascript/BasicConceptsGroup -.-> javascript/variables("`Variables`") javascript/BasicConceptsGroup -.-> javascript/data_types("`Data Types`") javascript/BasicConceptsGroup -.-> javascript/arith_ops("`Arithmetic Operators`") javascript/BasicConceptsGroup -.-> javascript/comp_ops("`Comparison Operators`") javascript/AdvancedConceptsGroup -.-> javascript/async_prog("`Asynchronous Programming`") subgraph Lab Skills javascript/variables -.-> lab-28596{{"`在给定时间后解析Promise`"}} javascript/data_types -.-> lab-28596{{"`在给定时间后解析Promise`"}} javascript/arith_ops -.-> lab-28596{{"`在给定时间后解析Promise`"}} javascript/comp_ops -.-> lab-28596{{"`在给定时间后解析Promise`"}} javascript/async_prog -.-> lab-28596{{"`在给定时间后解析Promise`"}} end

创建一个延迟的 Promise

要创建一个在特定时间后解析的新 Promise,请执行以下步骤:

  1. 使用 Promise 构造函数创建一个新的 Promise。
  2. 在 Promise 的执行器函数内部,使用 setTimeout() 在指定的 delay 之后使用提供的 value 调用 Promise 的 resolve 函数。

以下是 resolveAfter() 的示例实现:

const resolveAfter = (value, delay) =>
  new Promise((resolve) => {
    setTimeout(() => resolve(value), delay);
  });

现在你可以调用 resolveAfter() 来获取一个在指定延迟后解析为提供的值的 Promise:

resolveAfter("Hello", 1000);
// 返回一个在 1 秒后解析为 'Hello' 的 Promise

要开始练习编码,请打开终端或 SSH 并输入 node

总结

恭喜你!你已经完成了“在给定时间后解析 Promise”实验。你可以在 LabEx 中练习更多实验来提升你的技能。

您可能感兴趣的其他 JavaScript 教程