axios 搭配 Async/Await 與 try throw catch

axios中斷請求

封裝axios 常用配置與 添加攔截器

用fetch發送請求

Ajax

AJAX即「Asynchronous JavaScript and XML」(非同步的JavaScript與XML技術),指的是一套綜合了多項技術的瀏覽器端網頁開發技術。

AJAX在客戶端使用各種 Web 技術來創建異步(asynchronous) Web 應用程序。應用程序可以在背景從服務器發送和獲得數據,而不干擾現有頁面的顯示和行為。通過將數據交換層與表示層分離,Ajax 允許網頁以及擴展的 Web 應用程序動態地更改內容,而無需重新加載整個頁面。在實踐中,數據的傳送通常使用 JSON 而不是 XML。

常見的Ajax應用的例子是,我們在YouTube或是Google搜尋時,網站會根據我們前面打的幾個字,猜想我們想要搜尋的關鍵字是什麼。這就是不干擾現有頁面的顯示和行為的情況下,從服務器發送和獲得數據,並且更新網頁的方法。

Untitled

同步與異步

在計算機程式中,異步(asynchronous)代表著一個process獨立於其他 process運行,而同步(synchronous)代表著一個process僅在某個其他process完成或移交後而運行。

Untitled

通常來說,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.*

Untitled