微信小程序之回调函数

微信小程序之回调函数

1.首先什么是回调函数?

在经历一系列研究之后,我总结了一下,就是A函数作为B函数的参数,B函数执行完之后将返回的结果作为A函数的参数,再执行A函数。听起来很难懂,那就举个栗子吧

function getdata(callback) {
    //这里我们假设是从后端获取数据
    setTimeout(function() {
        //假设我们获取到数据info
        var info = {
            "id": 1,
            "name": '张三'
        }
        //得到数据以后执行函数方法
        callback(info)
        //这个就是回调函数
    }, 10000)
}
function check(data) {
    if (data.id == 1) {
        console.log('验证成功,可以通过')
    }
}

getdata(check);

分析如下:

  1. 首先我们定义了一个getdata函数和一个check函数,在getdata函数中调用了setTimeout()方法,作用是模拟从后端拿到数据所需的时间(里面的info就是模拟拿到的数据)
  2. 当getdata(check)运行后,进入getdata方法体,然后调用setTimeout方法,【即会经历10秒的休眠,此处是为了模拟平常的api调用(我故意弄了10秒 这样的话调试起来很明显)然后执行里面的function匿名函数(即定义了一个对象info)】,最后会将这个info对象传递给check函数,最后check函数拿到info对象参数后执行其方法体
  3. 具体的过程可以在开发者工具里通过断点调试

2.搞清楚什么是回调函数以后,再来看看wx.request()方法里的success回调函数就很容易理解了

首先我们将success方法作为wx.request()方法的参数(具体定义详见官方文档),然后当我们调用第三方api时,会经历一个短暂的等待,然后会得到相应的数据,而这些数据会作为参数传递给success方法,最后再执行success中的方法体

在这里插入图片描述

总结:回调函数就是指在另一个函数执行完成之后被调用的函数。
参考文章:https://www.jb51.net/article/144414.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值