资讯专栏INFORMATION COLUMN

三句话总结 async await 用法

Anonymous1 / 1209人阅读

摘要:三句话看懂函数执行结果都是总能等到结果即便是嵌套多层的异步的使用时必须在函数中表述可还清楚有遗漏请指正。

公司有个项目,类似用户自定义试卷试题的功能,很多表单需要验证,但是又要根据配置自动生成,所以,每个输入框都是一个组件,验证是异步,如果全部都用Promise看起来也很头大,各方查阅,总结如下。

三句话看懂 async/await 1 async 函数执行结果都是Promise

async function HiAsync() {
 return "hi";
}
async function HelloAsync() {
 return Promise.resolve("hello")
}

console.log(HiAsync())
console.log(HelloAsync())

HiAsync().then(r => {
    console.log(r) // "hi"
})
HelloAsync().then(r => {
    console.log(r)  // "hello"
})
2 await 总能等到结果

(即便是嵌套多层的异步)

function getSomething() {
    return "a";
}

async function testAsync() {
    return new Promise((re, rj) => {
        setTimeout(() => { re("b") }, 500)
    })
}
async function deepAsync() {
    let p2 = new Promise((re, rj) => {
        setTimeout(() => { re("c") }, 10)
    })
    return new Promise((re, rj) => {
        setTimeout(() => { re(p2) }, 500)
    })
}

async function test() {
    const v1 = await getSomething();
    console.log("v1",v1)
    const v2 = await testAsync();
    console.log("v2",v2)
    const v3 = await deepAsync();
    console.log("v3",v3);
}
test();
3 await 的使用时 必须在async 函数中

easy? 表述可还清楚?有遗漏请指正。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104669.html

相关文章

  • 细说async/await相较于Promise的优势

    摘要:它细说了什么是函数,以及其相较于的优势。从最早的回调函数,到对象,再到函数,每次都有所改进,但又让人觉得不彻底。所以,不能把它和回调函数搭配使用。但不用写及其回调函数,这减少代码行数,也避免了代码嵌套。总结的异步编写方式,从回调函数到再到。 前言 介于上一篇 「今日头条」前端面试题和思路解析 中提到的 async/await,让我想起了之前写过的一篇文章,在此做个分享。它细说了什么是a...

    J4ck_Chan 评论0 收藏0
  • js断点调试心得(以chrome浏览器为例)

    摘要:原文转载自这里断点调试心得我是勤劳的搬运工,嗯这里相对原文有删减,想看原文的请移步。那么接下来犯罪嫌疑人的身份锁定在哪里呢事件触发了,那么接下来的问题就是它内部的函数问题了。这个功能非常的实用,大部分的调试都会使用到它。 原文转载自这里js断点调试心得,我是勤劳的搬运工,嗯!这里相对原文有删减,想看原文的请移步。 1、断点调试是啥?难不难? 用chrome浏览器打开页面 → 按f12打...

    Gu_Yan 评论0 收藏0
  • Eventloop不可怕,可怕的是遇上Promise

    摘要:就是每次传入的函数最后是的任务之后,开始执行,可以看到此时会批量执行中的函数,而且还给这些中回调函数放入了一个这个很显眼的函数之中,表示这些回调函数是在微任务中执行的。下一模块会对此微任务中的插队行为进行详解。 有关Eventloop+Promise的面试题大约分以下几个版本——得心应手版、游刃有余版、炉火纯青版、登峰造极版和究极变态版。假设小伙伴们战到最后一题,以后遇到此类问题,都是...

    olle 评论0 收藏0
  • JS 异步编程六种方案

    摘要:接下来介绍下异步编程六种方法。六生成器函数是提供的一种异步编程解决方案,语法行为与传统函数完全不同,最大的特点就是可以控制函数的执行。参考文章前端面试之道异步编程的种方法你不知道的中卷函数的含义和用法替代的个理由 前言 我们知道Javascript语言的执行环境是单线程。也就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务。 这种模式虽然实现起...

    longmon 评论0 收藏0
  • js的异步回调之async/await

    摘要:假如返回的不是一个对象,是其他的任何返回值,后面的语句会立即执行。而关键字只有得到返回值后才继续执行,不就是同步么。 最近在学习NodeJS框架koa V2,koa2的API很简单,基于ES7 async/await实现异步代码。很多人认为async/await是解决异步终极解决方案,那我们就研究下async/await。前端业务逻辑越来越复杂,往往几个 AJAX 请求之间互有依赖,有...

    vspiders 评论0 收藏0

发表评论

0条评论

Anonymous1

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<