axios 搭配 Async/Await 與 try throw catch
AJAX即「Asynchronous JavaScript and XML」(非同步的JavaScript與XML技術),指的是一套綜合了多項技術的瀏覽器端網頁開發技術。
AJAX在客戶端使用各種 Web 技術來創建異步(asynchronous) Web 應用程序。應用程序可以在背景從服務器發送和獲得數據,而不干擾現有頁面的顯示和行為。通過將數據交換層與表示層分離,Ajax 允許網頁以及擴展的 Web 應用程序動態地更改內容,而無需重新加載整個頁面。在實踐中,數據的傳送通常使用 JSON 而不是 XML。
常見的Ajax應用的例子是,我們在YouTube或是Google搜尋時,網站會根據我們前面打的幾個字,猜想我們想要搜尋的關鍵字是什麼。這就是不干擾現有頁面的顯示和行為的情況下,從服務器發送和獲得數據,並且更新網頁的方法。
在計算機程式中,異步(asynchronous)代表著一個process獨立於其他 process運行,而同步(synchronous)代表著一個process僅在某個其他process完成或移交後而運行。
通常來說,JavaScript的特性是single-threaded synchronous,代表JavaScript是個一次只會做一件事情的程式語言。然而,JS有內建的asynchronous function,例如setTimeout()。setTimeout() funtion設置一個計時器,一旦計時器時間到,該計時器就會執行一個函數或指定的一段代碼。 setTimeout()的語法為:
setTimeout(code, delay)
Code是delay結束時要執行的程式碼,delay 是在執行指定的函數或代碼之前計時器應等待的時間(以毫秒為單位)。如果省略此參數,則使用值 0,表示“立即”執行。
console.log(’start’);
setTimeout(() => {
console.log(‘Here is the code.’);
}, 2000)
console.log(end’);
上面這段程式碼執行的結果是:
*start
end
Here* *is* *the* *code.*