diff --git a/scripts/extract.js b/scripts/extract.js index 46b568f..a3843f9 100644 --- a/scripts/extract.js +++ b/scripts/extract.js @@ -153,7 +153,8 @@ function sendMessage(tab, req, cond, interval) { console.log("request for", req.from); let tabAvailable = await getTabByID(tab.id); if (!tabAvailable) { - throw new Error("Task interupted due to the target tab is closed."); + reject("Task interupted due to the target tab is closed."); + return; } chrome.tabs.sendMessage(tab.id, req, r => { @@ -183,6 +184,7 @@ async function getActiveTab(currentWindow) { async function getTabByID(id) { return new Promise((resolve, reject) => { chrome.tabs.get(id, function (tab) { + chrome.runtime.lastError; resolve(tab); }) }) diff --git a/scripts/extractor.js b/scripts/extractor.js index 4cbfb13..e4007a7 100644 --- a/scripts/extractor.js +++ b/scripts/extractor.js @@ -47,7 +47,7 @@ class Extractor { this._results[this._tasks[this._tasks.length - 1]] = result; this.save(); } - ); + ).catch(err => console.log(err)); } /** * restart from specified task, but don't restart the previous tasks. @@ -76,7 +76,7 @@ class Extractor { this._results[this._tasks[this._tasks.length - 1]] = result; this.save(); } - ); + ).catch(err => console.log(err)); } /** * Save result of a task