当前位置: 首页 > news >正文

电子商务网站建设实用教程教案挖掘关键词的工具

电子商务网站建设实用教程教案,挖掘关键词的工具,太原做app网站建设,wordpress调用当前页面链接typescript Awaited教程用法 文章目录 typescript Awaited<Type>教程用法 ts4.5发布了Awaited&#xff0c;但是很多人不明白Awaited的用法。 首先看一下官方的说明&#xff1a;这种类型旨在模拟函数await中的操作async&#xff0c;或 s.then()上的方法——特别是它们递归…

typescript Awaited教程用法

文章目录

  • typescript Awaited<Type>教程用法

ts4.5发布了Awaited,但是很多人不明白Awaited的用法。

首先看一下官方的说明:这种类型旨在模拟函数await中的操作async,或 s.then()上的方法——特别是它们递归解包Promise的方式。

首先看一个例子:

async function test() {let aa = Promise.resolve(Promise.resolve(Promise.resolve('hello world')))let bb = await aa;
}
test();

这里我们可以正确得到bb类型为string

在js中和ts中,await和.then()都能递归得到一个非Promise的。Awaited就是模仿这种行为,递归解包获取其中的类型。不理解没事,继续往下看:


let aa = Promise.resolve(Promise.resolve(Promise.resolve('hello world')))

还是这段代码

我们想设置一个别名 cc 的类型为 aa 的Promise异步操作返回值的类型

该怎么做?

或许有人认为,直接设置 string 类型不就好了:

let aa = Promise.resolve(Promise.resolve(Promise.resolve('hello world')))
type cc = string;

但这样真的好吗,很多请求或者异步操作返回值可能都是不固定,当然,除非你定死它返回的必须是string类型。如果这样或许你真的不需要Awaited了。


进行下面内容开始之前,你脑海中需要有一个印象:

let aa = Promise.resolve(Promise.resolve(Promise.resolve('hello world')))
type cc = typeof aa 

其中cc的类型为 Promise<string>,这很重要。=所以,看到这里,我们要做的就是取出Promise中的string(也可能是其他,总之是尖括号里的内容)。=

推荐你每一步都手动操作一下,地址:typescript在线运行


接下来使用另一种方法:

let aa = Promise.resolve(Promise.resolve(Promise.resolve('hello world')))
type cc = typeof aa extends Promise<infer U> ? U : typeof aa;

在 Awaited 还没出来之前,一般使用这种方法获取异步操作返回值的类型。首先判断 typeof aa 是否为 Promise,如果是则取出其中的类型,如果不是,则直接返回typeof aa

肉眼可见,确实不方便:

接下来使用 Awaited:

let aa = Promise.resolve(Promise.resolve(Promise.resolve('hello world')))
type cc = Awaited<typeof aa>

是不是很简洁。

如果你用过infer,到这里基本上就理解了。


为什么这里使用 typeof aa :

  • 这里的aa其实是一个值,而type需要一个类型,所以我们需要一个关键字typeof获取aa的类型。

既然typeof aa 就表示类型,为什么还要Awaited<>:

  • 上文说了,typeof aa 会返回Promise<string>,而这篇文章主要讲的内容就是获取异步操作返回值的类型。

看一个例子:

type aa = Promise<Promise<Promise<string>>>
type cc = Awaited<aa>

如果 aa 是类型,则我们可以直接使用 Awaited<aa>,我们cc的类型为string类型。

http://www.mmbaike.com/news/65323.html

相关文章:

  • 手机网站开发论坛天津优化公司哪家好
  • 新野做网站百度收录申请入口
  • 济宁专业建网站如何在百度搜索排名靠前
  • wap企业网站源码基本seo技术在线咨询
  • 怎么创建视频网站大连企业网站建站模板
  • 网站会员体系方案网站优化主要优化哪些地方
  • 孝感网站开发的公司seo信息网
  • 邀请函制作软件app有哪些优化方案官网
  • 网站开发 改进百度sem
  • 沈阳顺天建设集团网站关键词点击价格查询
  • 大连英文网站建设自己接单的平台
  • 中小型网站建设百度推广有效果吗
  • abp网站开发醴陵网站制作
  • 微信网站登录天津seo技术教程
  • 建设网站有哪些步骤品牌宣传如何做
  • 贵州省建设厅住房和城乡建设官网二建考试青岛seo网站推广
  • 网站建设成本预算十大seo公司
  • 做php网站的话要学什么语言百度人工申诉客服电话
  • 工信部如何查网站备案国家卫健委每日疫情报告
  • 网站优化系统外链推广软件
  • 深圳一定火网站建设如何搭建公司网站
  • 北京通州区住房和城乡建设委员会网站百度快速排名技术培训教程
  • 政府机关asp免费网站源码企业网站设计代码
  • 电影采集网站流量今天的新闻大事10条
  • 有没有做兼职的好网站seo优化排名软件
  • 珠海市网站建设怎么样佛山网站建设技术托管
  • 我想创个网站seo站
  • 郑州app开发百度seo排名优化技巧分享
  • 做文库网站怎么赚钱谷歌浏览器官网
  • 北京做兼职的网站单页网站制作