js回调函数原理 包教包会

js回调函数这一块一直是一个不太好理解的地方,相信很多同学都不知道该如何使用,今天我做项目的时候正好有一个地方要用到回调函数,有感而发。

应用场景

需求:我想封装一个ajax调用api的函数,在其他页面可以方便调用,但是调用的时候接收不到函数的返回值,因为函数的返回值在ajax 的 success回调当中,此时就需要一个回调函数了!

先看下我的ajax函数代码如下:

 post_func(url, data,cellback) {
    var _this = this
    var token = localStorage.getItem('token')
    var username = localStorage.getItem('user')
    $.ajax({
      type: "POST",
      url: this.res_url + url,
      data: data,
      async: true,
      headers: {
        "token": token,
        "username": username
      },
      success: function (res) {
        cellback(res)
      },
      error: function () {
        alert("网络错误")
      }
    })
  }

函数很简单,接收参数有三个 url是请求地址,data是请求参数,cellback是回调函数

如何调用 

调用时前两个参数正常传就行,最后一个参数要传递一个函数,如下

post_func("/api/v1/admin/add_menu", data, function(data) {
        console.log(data)
      })

console.log(data)打印的是ajax success的回调数据

成功!真香 

作者:有节操、有内涵、有信仰–不存在的
来源:CSDN
原文:https://blog.csdn.net/weixin_…
版权声明:本文为博主原创文章,转载请附上博文链接!

    原文作者:马明瑞
    原文地址: https://segmentfault.com/a/1190000017208189
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞