提示信息

async function 与 function 区别

月未央 已关注

async function 和普通的 function 之间的主要区别在于它们处理异步操作的方式不同。以下是两者的一些关键特性:

  1. async function: 异步函数标识为 async,并且返回一个 Promise 对象。如果此函数中显式返回值,则 Promise 的状态将变为已解析,并以该值作为其结果;如果抛出错误,则 Promise 的状态将变为已拒绝,并将错误作为其原因。这类函数内部可以包含 await 表达式,用来暂停和恢复执行该函数,等待 Promise 的解决或拒绝。

  2. function:普通函数没有 async 标识符,直接返回结果,而不是 Promise。它不能包含 await 表达式。

以下是使用这两种函数的例子:

普通函数

  1. function add(x, y) {
  2. return x + y;
  3. }
  4. let result = add(1, 2); // 结果立即得到:3

异步函数

  1. async function getJSON() {
  2. let response = await fetch("https://api.example.com/data");
  3. let data = await response.json();
  4. return data;
  5. }
  6. getJSON().then(data => console.log(data)); // 数据在 Promise 解析后得到

在上面的异步函数示例中,fetchresponse.json() 都返回 Promise,我们通过 await 关键字暂停并等待 Promise 解析,然后获取其结果。这使得处理异步操作更直观,代码读起来就像是同步代码。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
月未央 关注 已关注

最近一次登录:2023-12-15 20:04:30   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图