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的回调数据

成功!真香 

发布了42 篇原创文章 · 获赞 19 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_38639882/article/details/84652633