行测 map转string Morecoin mysql maven events seo教程下载 品优购电商系统开发 web前端开发实战项目 网页设计公司 python零基础 怎么看java版本 学习java基础 千千静听绿色版 脚本之家 摩尔斯电码翻译器 m4a转mp3格式转换器 蒙文字体 无限弹窗bat getelementbyid 脚本 识别音乐的软件 战斗的召唤 js倒计时 工程html加密 苏拉玛起义的任务线 毕业证件照 抠图软件免费版 发射爱心的图片 backtrack4 字典生成器 cad乘号 追评可以删除吗 小米账号怎么退出 mysql关联查询 sprutcam 软件编程软件 flash引导层动画 企业路由器设置 黑客软件网
当前位置: 首页 > 学习教程  > 编程语言

JavaScript中的Promise

2020/8/11 19:56:54 文章标签:

promise语法糖-async,await

promise:Promise 对象用于表示一个异步操作的最终完成 (或失败), 及其结果值.

语法async

async function name() { statements }

async作用

  • 一个async函数能够包含0个或者多个await指令(await指令能够在停止异步函数执行,等待promise函数执行,并继续异步函数的执行并返回解析后的promise)
  • async函数返回值是一个promise对象(即使不是一个promise对象,也会成为一个隐式promise对象)
async function foo() {
   return 1
}
等价于
function foo() {
   return Promise.resolve(1)
}

语法await

[return_value] = await expression;

expression:promise对象或者任何想要返回的值
return_value:返回 Promise 对象的处理结果。如果等待的不是 Promise 对象,则返回该值本身。
例子
如果一个 Promise 被传递给一个 await 操作符,await 将等待 Promise 正常处理完成并返回其处理结果。

function resolveAfter2Seconds(x) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(x);
    }, 2000);
  });
}

async function f1() {
  var x = await resolveAfter2Seconds(10);
  console.log(x); // 10
}
f1();

如果该值不是一个 Promise,await 会把该值转换为已正常处理的Promise,然后等待其处理结果。

async function f2() {
  var y = await 20;
  console.log(y); // 20
}
f2();

如果 Promise 处理异常,则异常值被抛出。

async function f3() {
  try {
    var z = await Promise.reject(30);
  } catch (e) {
    console.log(e); // 30
  }
}
f3();

本文链接: http://www.dtmao.cc/news_show_100259.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?