我在学习 jest 框架的 beforeEach 方法时,注意到其接受的输入参数 fn 的类型为 jest.ProvidesCallback:

该参数的类型 ProvidesCallback,本身是一个函数,返回任意类型,该函数的输入参数为 DoneCallback:

type ProvidesCallback = (cb: DoneCallback) => any;

DoneCallback 的定义如下:

interface DoneCallback {(...args: any[]): any;fail(error?: string | { message: string }): any;}

DoneCallback 本身是一个函数,接收任意类型,任意数量的参数,返回任意类型:

(…args: any[]): any;

同时,该类型还包括一个 fail 字段,该字段也指向一个函数,输入参数为 string.

如果定义一个类型为 DoneCallback 的变量?参考如下代码:

interface DoneCallback {(...args: any[]): any;fail?(error?: string | { message: string }): any;}var a: DoneCallback = (error) => error; a.fail = (error) => error;console.log(a(1));console.log(a.fail('Jerry'));

更多Jerry的原创文章,尽在:“汪子熙”:

Jest DoneCallback 数据类型的理解相关推荐

  1. 负数转换为无符号数据类型的理解及应用

    负数转换为无符号类型数据的理解及应用 负数转换为无符号数据类型的理解及应用 有符号整型和无符号整型的转换 有符号类型和无符号类型的转换应用实例 参考文献 负数转换为无符号数据类型的理解及应用 网上有大 ...

  2. 数据库数据类型decimal理解

    MySQL DECIMAL数据类型用于在数据库中存储精确的数值. 例如语法:column_name DECIMAL(P,D) 其中P表示的是有效数字的位数,D表示是小数的位数,D小于或等于P. 理解可 ...

  3. C++数据类型 浅显理解

    为解决不同类型问题,C++中的数据类型产生了.数据类型分为基本类型和自定义类型. 关于数据类型的分类不尽相同,这里选取了下面这种: 基本类型:整型(int).字符型(char).布尔型(bool(注意 ...

  4. Java数据类型-加强理解示例:国王的麦子

    在上一篇数据类型中,我们了解的数据类型的种类,这一篇文章是为了加深理解而专开的. [目的]:认识到数据类型的重要性 文章目录 使用int型 使用long类型 使用float类型 使用double类型 ...

  5. java数据类型怎样理解_深入理解Java之数据类型

    一.概述 我们通过编程解决一个具体问题时,首先要做的工作是用各种"数据结构"表示问题中的实体对象,而后才能着手研究描述具体业务逻辑的算法.这也正印证了"程序 = 数据结构 ...

  6. char数据类型 代码理解

    (个人理解,有误请指正) 本文采用c语言进行编译,printf打印时需要强制选择打印的类型,能帮助大家更好的进行理解. char类型我个人倾向于理解成一个有着存储范围的int类型来理解. 单个字符 对 ...

  7. 数据库数据类型decimal理解【记录】

    一.MYSQL数据类型DECIMAL用法: 1.DECIMAL是MySQL中存在的精准数据类型,以字符串的形式保存精确的原始数值,而float,double则是非精准类型,在DB中保存的是近似值. 例 ...

  8. 深入理解数据类型、变量类型属性、内存四区和指针

    数据类型可理解为创建变量的模具(模子):是固定内存大小的别名. 数据类型的作用:编译器预算对象(变量)分配的内存空间大小. 既能读又能写的内存对象,称为变量:若一旦初始化后不能修改的对象则称为常量. ...

  9. 理解Java自定义类作为数据类型——引用数据类型

    目录 说在前面的话 复现问题 引用数据类型的理解 总结 说在前面的话 前言:Java的数据类型按照类型可分为基本数据类型(byte.short.int.long.double.float.char.b ...

最新文章

  1. WeakHahMap,HashMap和(垃圾回收)Gc
  2. AcWing算法提高课 Level-3 第二章 搜索
  3. 在Linux上安装nginx时遇到的问题,真的好坑啊!!!!
  4. python在职场的用处大吗_Python未来发展怎么样,未来办公是否都需要精通Python?...
  5. python redis模块connectionerror_ConnectionError:Error 2连接到Python/Django Redis中的unix套接字...
  6. jdk、cglib动态代理代码示例
  7. 【Vue案例一】实现跑马灯效果
  8. matlab log函数
  9. 群晖J3455安装DS3617xs 6.2.3折腾教程
  10. 【5G核心网】5GC核心网之网元UDR
  11. 计算机中安装音乐软件是一种,电脑必装的八款软件,你装了吗?
  12. 纪念日该给女朋友送什么礼物?
  13. 小数位数修约,四舍六入五成双
  14. goaheadlinux移植_goahead(嵌入式Web服务器)之交叉编译、移植篇
  15. 专升本英语——语法知识——基础语法——第三节 形容词、副词及其比较级【学习笔记】
  16. [Power Query] 删除重复项
  17. Pytorch创建自己的数据集(图像分割)
  18. 云服务器deeplearning_吴恩达deeplearning.ai将于11月6日开放第四课,主讲卷积神经网络...
  19. 炫酷的表白烟花 html+css+js实现的表白烟花特效(程序员专属情人节表白网站)
  20. QMT vs Ptrade 速度对比 (一) 历史行情获取速度

热门文章

  1. 新疆尉犁县境内塔克拉玛干沙漠雪景美如画
  2. laravel 缓存相关常用操作
  3. 感觉要火!妹子实地采访网易猪厂程序员七夕怎么过
  4. 【352天】我爱刷题系列111(2018.01.23)
  5. Flash Builder 找不到所需的 Adobe Flash Player
  6. Android开发者指南(4) —— Application Fundamentals(二)
  7. ACM 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 B. Train Seats Reservation
  8. Java基础知识(二)之控制语句
  9. xss 表单劫持(from通用明文记录)
  10. Java语法糖1:可变长度参数以及foreach循环原理