回调函数 和 promise对象,及 请求接口的管理


1、回调函数:https://blog.csdn.net/baidu_32262373/article/details/54969696

注意:回调函数不一定需要用到 return。如果浏览器支持Promise对象,则可以不用回调函数实现程序。(个人感觉,Promise实现,就像把回调函数难道了外面,通过l链式结构实现)

引申:同步程序封装后,通过return返回值,就可以把需要的值给别人。异步程序封装后,只能通过回调函数把值给别人。不然无法获得预期的值

2、请求接口的管理:一般一个接口,可能会出现多个地方使用。如果把请求接口放在文件里,页面中使用这个接口,只要传入参数调用这个方法就可以了,及请求后的  执行的程序(即回调函数)。这样可以便于管理所有的接口。

function getStausList(obj,Callback) {
    axios.get('./json/stausList.json').then(
        function(res){
            Callback(res.data);  // axios.js中的ajax请求返回的数据是放在  res.data 对象里面的,而不是res
        },
        function(){
            alert('连接失败')
        }
    )
}

getStausList(null,function(res){ // res 就是这个请求返回来的数据
  // do sthing
})

 

3、Promise的then里面的函数要用到then方法的,通过return 操作符 抛出去,就可以让所有的then方法都是链式的写法。这样不管是从可读性还是,逻辑清晰上都是好的。

abc().then(  // abc是一个Promise对象( 如axios方法 )
    (res) => {
      return rqubb()   // rqubb 也是一个Promise对象 ( 如axios方法)
} ).then(
  (res) => { // 这里res就是 rqubb 传入的参数了
    // do sthing
  }
)

 


 

promise视频学习笔记

1、

感悟:回调函数中里面 无法把里面值通过 return 返回出去,但是promise中的 resolve()可以把里面的值弄出来,传递到then的函数中。

   回调函数之所以会出现回调地狱的问题,就是回调函数中值无法弄出来,只能不断的嵌套使用。但是 promise + async/await 解决了这个问题,从此js没有这个问题。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM