首页 > 编程语言 >JavaScript异步概念及与c#异步的区别

JavaScript异步概念及与c#异步的区别

时间:2022-10-09 13:45:55浏览次数:58  
标签:异步 await 函数 c# JavaScript Promise async

JS的异步操作函数往往是通过回调函数来实现异步任务的结果处理,在ES6之前如setTimeout函数和异步AJAX编程;

在ES6规范后Promise 类对象使得书写异步任务更加容易,返回Promise 的函数是异步操作的基础,

在ES7中增加了async关键字,async关键字修饰的函数返回值是一个Promise 对象,即该函数是一个异步函数,

在async函数中可以使用await表达式,await 操作符用于等待一个 Promise 对象, 它只能在异步函数 async function 内部使用,

正常情况下,await 命令后面是一个 Promise 对象,它也可以跟其他值,如字符串,布尔值,数值以及普通函数。

这里的await就和c#中的有了明显的差异:

在JS的async函数中,如果await后是一个Promise对象,await 会暂停执行,等待 Promise 对象 resolve,然后恢复 async 函数的执行并返回解析值。

如果await后非 Promise 对象:直接返回对应的值。

也就是说await使得async函数内部是一个同步过程。

而在c#中,await 仅用来修饰一个异步task,可以理解为异步编程的语法规范。

标签:异步,await,函数,c#,JavaScript,Promise,async
From: https://www.cnblogs.com/lumingprince/p/16771844.html

相关文章

  • CnetOS 7.9 安装 sqlite3
    一、CnetOS7.9安装sqlite3地址https://www.sqlite.orghttps://github.com/sqlite/sqlitehttps://www.sqlite.org/2022/sqlite-autoconf-3390400.tar.gz wg......
  • CentOS 7.9 安装 django-3.2.10
    一、CentOS7.9安装django-3.2.10地址https://www.djangoproject.comhttps://github.com/django/django二、安装django先得安装pythonpython3python3-Vpip3-......
  • ref、reactive、toRef、toRefs使用与区别
    reactive传参:reactive(arg),arg只能是对象arg为普通对象返回响应式对象,不管层级多深,都能响应使用:获取数据值的时候直接获取,不需要加.value特点:解构、扩展运算......
  • ECCV20 3D目标检测新框架3D-CVF
    前言这一篇文章主要介绍一篇发表在ECCV20上的采用多模态融合的3D目标检测的文章,并总结一下目前多多模态的方法。所谓多模态融合,即采取多种传感器数据作为深度学习网络的输入......
  • 招聘|航天图景(北京)CV深度学习研发工程师
    公司介绍:航天图景(北京)科技有限公司位于毗邻北京首都机场的中关村顺义科技园,拥有3.5万平方米的研发中心,秉承“智慧掌控世界,创新共享未来”的理念,航天图景超越了无人机简单拍......
  • LRNNet:轻量级FCB& SVN实时语义分割
    公众号后台回复「LRNNet」,即可获得论文下载链接。简介:语义分割可以看作是一种按像素分类的任务,它将特定的预定义类别分配给图像中的每个像素。该任务在自动驾驶和图像编辑等......
  • scrapy爬取网站图片(静态加载)
    1.创建一个scrapy项目scrapystartgprojecttupiancdtupian创建爬虫文件 scrapygenspiderImagewww.com(域名)后续需要更改         开通pip管......
  • 关于TCP和UDP的联系与区别以及网络字节序和主机字节序的转换函数实践
    1.TCP和UDP的相同点:TCP和UDP都是在网络层,都是传输层协议,都能都是保护网络层的传输,双方的通信都需要开放端口。2.TCP和UDP的不同点:TCP传输协议,是一种面向连接的、可靠的......
  • 宿主机无法访问虚拟机中 ElasticSearch服务
    安装了最新版本的 es(7.5.1) 然后去测试有没有成功的时候,发现我真机访问不到,报错是拒绝访问。真机可以ping到虚拟机虚拟机里边也测试成功 ## 解决方案  在ES的配置文件......
  • 青少年CTF平台-Web-POST&GET
    题目描述一星简单题,看我如何给你过了。启动环境,等待三十秒先喝口水。做题过程访问题目地址,说让我们用GET方式提交一个名称为get且值为0的变量。在URL后面加上?get=......