同步的例子

 // 同步的写法
function add(a: number, b: number) :number {return a + b
}
// add()必须等 a + b算完,如果这段代码是很长的网络请求,将会很耗时间
// 同时前端如果在这儿一直等待,就会卡住
console.log(add(2,3))

异步-回调函数

回调函数基础语法-将函数作为参数

// 1.首先看懂这个函数
// 2. 首先声明了一个返回值为void,名字叫做add的函数
// 3. 这个add函数有三个形参,第一个是number类型的a,第二个是number类型的b,第三个是一个函数,它的名字叫做callback, 这个函数的样子应该是有一个number作为形参,返回值为void
// 4. add函数的函数体是将 (a+b)作为形参传给 自己的形参 callback
function add(a: number, b: number, callback: (res: number) => void): void {callback(a + b)
}

demo1

function add(a: number, b: number, callback: (res: number) => void): void {callback(a + b)
}
function test (result: number) : void {console.log(result)
}
// 把参数都丢进去调用即可
add(2, 3, test) // 最后的打印出 5

demo2

function add(a: number, b: number, callback: (res: number) => void): void {callback(a + b)
}
// 直接丢个函数体进去
add(2, 3, res=> {console.log('2+3', res)
})// 最后的打印出 "2+3",  5

demo3 - 积蓄利用局部变量

function add(a: number, b: number, callback: (res: number) => void): void {callback(a + b)
}add(2, 3, res=> {console.log('2+3',res)// 想继续利用局部变量就得回调函数套回调函数add(res,4, res2 => {console.log('2 + 3 + 4', res)})
})
// 结果是
//[LOG]: "2+3",  5
//[LOG]: "2 + 3 + 4",  5 

TypeScipt -回调函数相关推荐

  1. Go 学习笔记(16)— 函数(02)[函数签名、有名函数、匿名函数、调用匿名函数、匿名函数赋值给变量、匿名函数做回调函数]

    1. 函数签名 函数类型也叫做函数签名,可以使用 fmt.Printf("%T") 格式化参数打印函数类型. package mainimport "fmt"f ...

  2. OpenCV(六)形态学操作1--基础:膨胀与腐蚀(回调函数)

    目录 形态学通用API:morphologyEx 一.基础理论 1.邻接关系 (1)四邻接: (2)D邻接: (3) 八邻接: 2.连通性 (1)四连通: (2)八连通: (3)m连通: 3.形态学基 ...

  3. 函数指针--Nginx和Redis中两种回调函数写法

    1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...

  4. 回调函数在C/C++中的使用

    回调函数就是一个通过函数指针调用的函数.假如把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,那么就是回调机制.A函数就是回调函数,而通常情况下,A函数是在系统符合 ...

  5. 【FFmpeg】自定义回调函数处理AVIOContext中的数据

    1.简述 AVIOContext是FFmpeg管理输入输出数据的结构体,它的成员变量有指向数据的指针.大小以及处理数据的回调函数指针等等.如果使用avio_open或avio_open2来创建,它会根 ...

  6. php 回调递归,PHP数组函数 array_walk_recursive (使用回调函数递归遍历数组元素)

    在PHP中,数组函数 array_walk_recursive () 使用回调函数递归遍历数组元素. 函数语法:array_walk_recursive ( array &$array , c ...

  7. ajax post的回调函数另一个方法,jQueryajax–post()方法 - 米扑博客

    jQuery ajax - post() 实例 请求 test.php 网页,忽略返回值: $.post("test.php"); 通过 AJAX POST 请求改变 div 元素 ...

  8. nodejs回调函数理解

    回调实例 问题:想要得到一秒后 计算出的结果 //错误写法function add(x,y) {console.log(1);setTimeout(function () {console.log(2 ...

  9. dispatch callback ant design pro 网络请求回调函数

    index.jsx 代码解析:在组件初次渲染时调用 model 中 命名空间为  a_models  的 getData 网络请求,传了一个patload 参数和 callback 回调函数过去,然后 ...

最新文章

  1. ________________2058_______________后台数据不够。可能误判。
  2. 结合自己造的轮子实践按需加载
  3. 基于Docker的Consul服务发现集群搭建
  4. python methodtype_Python的实例定属性和方法或类绑定方法
  5. FileBeat + Pipeline 解析日志 保存至ElasticSearch(实战)
  6. java根据sessionid获取session
  7. java wps_通过WPS和WID方便地使用Java构件
  8. PS破解版全网下架?这款国产工具可完美替代
  9. java中 成员变量和属性的区别
  10. Vmware私有云平台搭建(1)
  11. 用python做可视化驾驶舱大屏全代码
  12. OpenCV+Mediapipe人物动作捕捉与Unity引擎的结合
  13. 七牛文件上传回调以及解析回调参数
  14. 缓解核心交换机网线过多的设计思路
  15. 极性表面积与非极性表面积
  16. 6款视频剪辑软件,免费又实用建议收藏!
  17. java中类的加载顺序
  18. c语言适用于大型的 复杂的软件系统开发,c语言是什么
  19. python数字1 3怎么表示_Python3数据类型之数字
  20. yolov5 【v4.0】用自有数据集训练结果大比拼【5s,5m,5l,5x,5shpy】

热门文章

  1. 程序员为什么热衷造轮子
  2. 弥漫的烟圈-Abaqus涡环仿真与空气大炮
  3. 对条件变量(condition variable)的讨论
  4. SPSS在电信行业中的应用
  5. uniapp 离线打包 使用系统定位,无需注册高度、百度地图
  6. 约旦稳居B组头名 澳大利亚绝杀叙利亚出线
  7. 【LeetCode Python实现】ZJ27 字典树
  8. pythonrequests证书_python requests 设置 proxy 和 SSL 证书
  9. 自动化_零基础学习QTP视频教程
  10. EGO游戏 トキの戦華 时之战华 剧情攻略(+修改器+特殊码)