前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >回调函数

回调函数

原创
作者头像
菜园前端
修改2023-05-24 23:24:26
1.7K0
修改2023-05-24 23:24:26
举报
文章被收录于专栏:前端学习文档前端学习文档

原文链接:https://note.noxussj.top/?source=cloudtencent

什么是回调函数?

简单的来说,一个函数作为另外一个函数的参数,可以称为回调函数。这个理解其实不完全对,回调的意义根本没有体现出来,何为回调?也就是说一个函数你定义了,你没有马上的去调用它,而是交给了另外一个函数去调用,这才属于回调函数。

缺点 直接使用传统回调方式去完成复杂的异步流程,无法避免大量的回调函数嵌套,形成回调地狱。为了避免回调地狱的问题,CommonJS 社区提出了叫做 Promise 的规范,目的是为异步编程提供了一种更合理,更强大的统一解决方案。在 ES2015 中被标准化,成为语言规范。

基础案例

回调函数

代码语言:javascript
复制
function foo(callback) {
    setTimeout(() => {
        callback()
    }, 3000)
}

foo(function () {
    console.log('这就是一个回调函数')
    console.log('现在处于定义时,没有被直接调用')
    console.log('我是被其他函数调用的,setTimeout 执行之后')
})

回调地狱

代码语言:javascript
复制
const getData = (url, fn) => {
    fn(url + 'xiaoming')
}

getData('/url1', function (data) {
    getData('/url2', function (data) {
        getData('/url3', function (data) {
            getData('/url4', function (data) {
                getData('/url5', function (data) {
                    console.log(data)
                })
            })
        })
    })
})

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档