回调函数 和 promise对象,及封装API接口

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

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

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

2、封装API接口:一般一个接口,可能会出现多个地方使用。如果把API封装在一个函数里,那么后面使用这个API,只要考虑传入的参数,已经请求成功后  执行的程序(即回调函数)。

  我们把所以的API请求,都放在一个js文件里封装好,这样可以便于管理API接口的代码。

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解决了这个问题。

转载于:https://www.cnblogs.com/wfblog/p/9805146.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值