Promise物件實現Ajax封裝

2021-10-10 07:25:14 字數 979 閱讀 8560

故心故心故心故心小故衝啊

/*

*預設methods:'get'

*預設url:'http://localhost:3306'

*預設data:null

*/const axios =()

=>

else

xhr.

onreadystatechange=(

)=>

else}}

)//最後返回乙個promise

return promise;

}

//node中做了倆個測試介面

//測試

post

('/api/test'

,function

(req,res)

)get

('/api/test2'

,function

(req,res)

)//呼叫1

document.

queryselector

(".btn").

onclick

=function()

})p.

then

(res =>).

catch

(err =>)}

//呼叫2

手寫promise封裝ajax

其實,axios本身就是基於promise進行封裝的,我們之所以進行二次封裝,主要是為了能夠對錯誤資訊進行乙個集中的處理,根據不同的錯誤資訊,需要給使用者不同的提示,以便於給使用者乙個良好的操作體驗。封裝方法有很多種,基於class類的,基於建構函式的,也可以直接封裝乙個函式。具體按照個人習慣,最主...

promise配合ajax使用

目錄 原生ajax和promise的結合使用 ecmascript 6 原生提供了 promise 物件。promise 物件代表了未來將要發生的事件,用來傳遞非同步操作的訊息。物件的狀態不受外界影響。promise 物件代表乙個非同步操作,有三種狀態 promise物件是微任務!1.建立xmlht...

Promise解決AJAX非同步問題

目的 使多個ajax程序能有序的執行,而不是非同步同時執行 第一步 給第乙個ajax所在的函式 ajax1 傳遞乙個success引數 函式 當ajax執行完之後,呼叫success 函式。第二步 如果後面還有要順序執行的非同步程式,可以參照第一步。第三步 new promise ajax1 the...