es6 - 回调深渊
带着以下疑问来解答以下问题,你会学到很多
1. 回调深渊为什么会出现,为什么需要回调 ?
2. ES6为什么会出现Promise?
3. 回调的作用是什么? 跟闭包有关吗?
ES5 ~ ES6 回调深渊 -示例
1 // 回调深渊 - 实例
2 function callbackAbyss(a, b, cb) {
3 setTimeout(function () {
4 cb(a + b);
5 }, 200)
6 }
7
8 // 回调深渊 - 调用
9 callbackAbyss(1, 2, function (result) {
10 let count = 1;
11 if (result > 2) {
12 console.log('回调深渊第' + count++ + '次输出结果:', result);
13 callbackAbyss(result, 2, function (result) {
14 console.log('回调深渊第' + count++ + '次输出结果:', result);
15 if (result > 4) {
16 callbackAbyss(result, 2, function (result) {
17 console.log('回调深渊第' + count + '次输出结果:', result);
18 })
19 }
20 })
21 }
22 })
23
24
25
26 // 回调深渊 - ES6 - 实例
27 function callbackAbyssEs6(a, b, cb) {
28 return new Promise(function (resolve, reject) {
29 setTimeout(function () {
30 resolve(a + b);
31 }, 1000)
32 })
33 }
34 // 回调深渊 - ES6 - 调用
35 callbackAbyssEs6(1, 2)
36 .then(function (result) {
37 if (result > 2) {
38 console.log('es6回调深渊第1次输出结果:', result);
39 return callbackAbyssEs6(2, result);
40 }
41 })
42 .then(function (result) {
43 if (result > 4) {
44 return callbackAbyssEs6(result, 2);
45 }
46 })
47 // ... then(function())
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现