首页 > 其他分享 >async函数-await

async函数-await

时间:2023-09-23 21:12:45浏览次数:34  
标签:函数 await 阻塞 Promise async 等待

  1. await 必须用在被 async 修饰的函数内(因为 await 会阻塞代码,但是阻塞的范围要限制在 async 函数执行的范围内)
  2. 箭头函数中,添加 async 函数要写在参数的前面
  3. await 是在异步函数内部使用的关键字,用于等待一个 Promise 对象的解决(成功)或拒绝(失败)。当使用 await 关键字时,它会暂停函数的执行,直到等待的 Promise 对象状态变为解决。然后,它会提取 Promise 的成功结果并将其赋值给一个变量。

具体工作原理如下:

当遇到 await 关键字时,函数的执行会暂停,但不会阻塞整个应用程序或线程。这允许其他任务继续执行,使程序更具有响应性。

await 后面通常跟随一个 Promise 对象。如果 Promise 成功解决,await 表达式将返回成功的结果,并且函数会继续执行。如果 Promise 被拒绝,它将引发一个异常,可以通过 try...catch 块来捕获和处理。

如果 await 后面跟随的不是一个 Promise 对象,而是一个普通的值,那么 JavaScript 会将该值包装成一个已解决的 Promise 对象,然后立即解决,并将该值作为成功的结果返回。这使得 await 可以等待非 Promise 值的完成,但依然会在原地等待。

请注意,尽管 await 在代码中会暂停执行,但它不会阻塞整个应用程序。在等待异步操作完成时,事件循环将继续运行其他任务。

const fn = async () => {
      const res = await 10
      console.log(res)
    }
fn()
// 输出是10

标签:函数,await,阻塞,Promise,async,等待
From: https://www.cnblogs.com/sxgwyf/p/17725055.html

相关文章

  • 偏函数
    Python中的偏函数是函数式编程强大工具,主要是减少函数调用的复杂性。可以理解为,将现有函数在某些参数固定下来,构造成一个新的函数。新函数就不用写那么多参数了。'''偏函数'''fromfunctoolsimportpartialdefadd(a,b):sum=a+breturnsumif__name__=='......
  • 几个函数的平均阶
    几个函数的平均阶目录Chapter1\(d(n)\)的平均阶Chapter2除数函数\(\sigma_\alpha(n)\)的平均阶Chapter3\(\mu(n)\)和\(\Lambda(n)\)的平均阶Chapter1\(d(n)\)的平均阶Theorem:Th1:对所有\(x\ge1\),我们有\[\sum_{n\lex}d(n)=x\logx+(2C-1)x+\Omicron(\sqrtx)......
  • Hive学习3(数据库操作DML、join、hive函数)
    1.对数据库操作数据定义语言(DataDefinitionLanguage,DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言,这些数据库对象包括database、table等。DDL核心语法由CREATE、ALTER与DROP三个所组成。DDL并不涉及表内部数据的操作。1.1创建数据库created......
  • 无涯教程-JavaScript - PEARSON函数
    描述PEARSON函数返回Pearson乘积矩相关系数r,它是一个无因次索引,范围为-1.0到1.0(含),反映了两个数据集之间线性关系的程度。语法PEARSON(array1,array2)争论Argument描述Required/OptionalArray1Asetofindependentvalues.RequiredArray2Asetofdependent......
  • 无涯教程-JavaScript - NORM.S.DIST函数
    描述NORM.S.DIST函数返回标准正态分布(平均值为零,标准偏差为1)。使用此功能代替标准法线区域的表格。语法NORM.S.DIST(z,cumulative)争论Argument描述Required/OptionalZThevalueforwhichyouwantthedistribution.RequiredCumulative累积值是确定函数形式......
  • 无涯教程-JavaScript - NORM.S.INV函数
    描述NORMS.S.INV函数返回标准正态累积分布的反函数。该分布的平均值为零,标准偏差为1。语法NORM.S.INV(probability)争论Argument描述Required/OptionalProbabilityAprobabilitycorrespondingtothenormaldistribution.RequiredNotes如果概率为非数值,则NOR......
  • C语言-字符串相关库函数用法+模拟实现
    常见的与字符串有关的库函数strstr()寻找子字符串strcat()字符串追加函数strcmp()字符串比较函数strcpy()字符串拷贝函数strlen()求解字符串长度...1.strstr()寻找子字符串我们先来看MSDN中对该函数的功能描述:Findasubstring.(寻找子......
  • 无涯教程-JavaScript - NEGBINOM.DIST函数
    描述NEGBINOM.DIST函数返回负二项式分布,即在第Number_s次成功之前出现Number_f次失败的概率,并具有Probability_s成功的概率。该函数与二项式分布相似,不同之处在于成功次数是固定的,而试验次数是可变的。像二项式一样,假定审判是独立的。语法NEGBINOM.DIST(number_f,numb......
  • C语言-字符串相关库函数用法+模拟实现
    常见的与字符串有关的库函数strstr()寻找子字符串strcat()字符串追加函数strcmp()字符串比较函数strcpy()字符串拷贝函数strlen()求解字符串长度...1.strstr()寻找子字符串我们先来看MSDN中对该函数的功能描述:Findasubstring.(寻找子......
  • 无涯教程-JavaScript - NORM.INV函数
    描述NORM.INV函数返回指定平均值和标准差的正态累积分布的倒数。语法NORM.INV(probability,mean,standard_dev)争论Argument描述Required/OptionalProbabilityAprobabilitycorrespondingtothenormaldistribution.RequiredMeanThearithmeticmeanofthedi......