回調函數 和 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