downloads.erase()

downloads API 的 erase() 函式會從瀏覽器的下載歷史記錄中清除匹配的 DownloadItems,而不會從磁碟刪除下載的檔案。

要從磁碟中刪除檔案,您需要使用 downloads.removeFile()

這是一個非同步函式,返回一個 Promise

注意:如果您想從磁碟刪除下載的檔案從歷史記錄中清除它,您必須在呼叫 erase() 之前呼叫 downloads.removeFile()。如果您嘗試反向操作,在呼叫 downloads.removeFile() 時會收到錯誤,因為根據瀏覽器來看,該檔案已不存在。

語法

js
let erasing = browser.downloads.erase(
  query                    // DownloadQuery
)

引數

query

一個 downloads.DownloadQuery 物件。

返回值

一個 Promise。如果呼叫成功,Promise 將會以一個代表被清除的 DownloadItems ID 的整數陣列來 fulfilled。如果沒有找到與查詢引數匹配的項,陣列將為空。如果呼叫失敗,Promise 將會以一個錯誤訊息被 rejected。

示例

清除最近一次下載

js
function onErased(ids) {
  console.log(`Erased: ${ids}`);
}

function onError(error) {
  console.log(`Error erasing item: ${error}`);
}

let erasing = browser.downloads.erase({
  limit: 1,
  orderBy: ["-startTime"],
});

erasing.then(onErased, onError);

清除所有

js
function onErased(ids) {
  console.log(`Erased: ${ids}`);
}

function onError(error) {
  console.log(`Error erasing item: ${error}`);
}

let erasing = browser.downloads.erase({});
erasing.then(onErased, onError);

擴充套件程式示例

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.downloads API。