Javascript:异步/等待

`async` 和 `await` 是 JavaScript 中的强大功能,可让 Promises 的使用更加轻松且更具可读性。它们允许您编写外观和行为与同步代码相似的异步代码。以下是简要概述:

async 函数

  • 定义:异步函数是返回 Promise 的函数。它允许您在其中使用 await。
  • 句法:
  • async function myFunction() {
        // Your code here
      }

    await 关键字

  • 定义:await 关键字只能在异步函数内部使用。它暂停异步函数的执行并等待 Promise 解析或拒绝。
  • 句法:
  • let result = await somePromise;

    例子

    这是一个简单的例子,演示了 `async` 和 `await` 如何协同工作:

    function fetchData() {
      return new Promise((resolve) => {
        setTimeout(() => {
          resolve('Data fetched');
        }, 2000);
      });
    }
    
    async function getData() {
      console.log('Fetching data...');
      const data = await fetchData();
      console.log(data);
    }
    
    getData();

    在此示例中:

  • fetchData 是一个返回 Promise 的函数,该 Promise 在 2 秒后解析。
  • getData 是一个异步函数,它使用 await 等待 fetchData 解析。
  • 当调用 getData 时,它会记录“正在获取数据...”,等待 fetchData 解析,然后记录“已获取数据”。
  • 好处

  • 可读性:async/await 使异步代码看起来更像同步代码,从而更易于阅读和理解。
  • 错误处理:您可以使用带有 async/await 的 try...catch 块来更干净地处理错误。
  • 错误处理示例

    async function getData() {
      try {
        console.log('Fetching data...');
        const data = await fetchData();
        console.log(data);
      } catch (error) {
        console.error('Error fetching data:', error);
      }
    }
    
    getData();

    在这个例子中,如果“fetchData”被拒绝,错误将被“catch”块捕获,并且“获取数据时出错:”将与错误消息一起记录下来。

    感谢您的阅读!

    希望您觉得这篇文章有用且信息丰富。如果您喜欢它或学到了新东西,请随时在评论中分享您的想法或与我联系。

    如果您想支持我的工作并帮助我创作更多这样的内容,请考虑给我买杯咖啡。您的支持对我意义重大,并让我充满动力!

    再次感谢您的光临!😊

    Buy Me A Coffee