axios 進行同步請求(async+await)


介紹

Axios 是一個基於 promise 的 HTTP 庫,它支持 Promise API。

像這樣:

axios.post('getsomething').then( res => { // 進行一些操作 } )

而 async/await 是一種建立在Promise之上的編寫異步或非阻塞代碼的新方法。async 是異步的意思,而 await 是 async wait的簡寫,即異步等待。

所以從語義上就很好理解 async 用於聲明一個 函數 是異步的,而await 用於等待一個異步方法執行完成。

那么想要同步使用數據的話,就可以使用 async+await 。

代碼示例

模擬一次異步請求

// 假設這是我們要請求的數據 function getSomething(n) { return new Promise(resolve => { // 模擬1s后返回數據 setTimeout(() => resolve(222), 1000); }); } function requestSomething() { console.log(111); getSomething().then(res => console.log(res)); console.log(333); } requestSomething() //這個時候會輸出 111,333,222 // 如果想要等數據返回后再執行后面的代碼,那么就要使用 async/await async function requestSomething() { console.log(111); // 這時something會等到異步請求的結果回來后才進行賦值,同時不會執行之后的代碼 const something = await getSomething(); console.log(something) console.log(333); } requestSomething() //這個時候會輸出 111,222,333

介紹

Axios 是一個基於 promise 的 HTTP 庫,它支持 Promise API。

像這樣:

axios.post('getsomething').then( res => { // 進行一些操作 } )

而 async/await 是一種建立在Promise之上的編寫異步或非阻塞代碼的新方法。async 是異步的意思,而 await 是 async wait的簡寫,即異步等待。

所以從語義上就很好理解 async 用於聲明一個 函數 是異步的,而await 用於等待一個異步方法執行完成。

那么想要同步使用數據的話,就可以使用 async+await 。

代碼示例

模擬一次異步請求

// 假設這是我們要請求的數據 function getSomething(n) { return new Promise(resolve => { // 模擬1s后返回數據 setTimeout(() => resolve(222), 1000); }); } function requestSomething() { console.log(111); getSomething().then(res => console.log(res)); console.log(333); } requestSomething() //這個時候會輸出 111,333,222 // 如果想要等數據返回后再執行后面的代碼,那么就要使用 async/await async function requestSomething() { console.log(111); // 這時something會等到異步請求的結果回來后才進行賦值,同時不會執行之后的代碼 const something = await getSomething(); console.log(something) console.log(333); } requestSomething() //這個時候會輸出 111,222,333




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM