介紹
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