jQuery的always()方法是一個回調函數,它在 Deferred 對象完成時(無論成功或失敗)都會被調用。 該方法的用途是允許我們添加處理程序,以跟蹤 Deferred 的進度。當 Deferred 對象解決時,jQuery 會發出“ resolved ”事件。而當該對象被拒絕時,jQuery 會發出“ rejected ”事件。在這兩種情況下,always()方法都會被調用。
下面是一個使用always()的例子:
$.ajax({ url: "https://jsonplaceholder.typicode.com/todos/1", method: "GET", dataType: "json" }) .done(function(response) { console.log("success", response); }) .fail(function(error) { console.log("error", error); }) .always(function() { console.log("complete"); });
在這個例子中,我們使用jQuery的ajax()方法從一個假的API地址中獲取JSON數據。在.done()和.fail()回調函數中,我們會記錄成功和失敗的響應。在.always()回調函數中,我們會打印一條消息,表示任務已完成。
無論AJAX請求成功或失敗,都會在完成后調用always()方法。將函數添加到 always() 方法中,可以確保我們在任何情況下都能夠關閉進度提示和釋放資源。