Compare commits

...

2 Commits

Author SHA1 Message Date
0a7cc09b1f fix typos 2018-09-28 16:27:07 +08:00
242474085a improve error handling 2018-09-28 16:20:52 +08:00
5 changed files with 9 additions and 7 deletions

View File

@ -47,7 +47,7 @@ task(itemsSelector:string, fieldSelectors:string, urlTemplate:string, pages:numb
// a task extracting data from a list of pages
task(itemsSelector:string, fieldSelectors:string[], urls:string[])
// a task extracting data of urls which extracted from last task result
task(itemsSelector:string, fieldSelectors:string[], urls:ExractResult)
task(itemsSelector:string, fieldSelectors:string[], urls:ExtractResult)
```
## Advanced Usage

View File

@ -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);
})
})

View File

@ -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

View File

@ -1,4 +1,4 @@
class ExractResult {
class ExtractResult {
constructor(data) {
this._data = data || [];

View File

@ -12,7 +12,7 @@ task(itemsSelector:string, fieldSelectors:string[])
task(itemsSelector:string, fieldSelectors:string[], url:string, from:number, to:number, interval:number)
task(itemsSelector:string, fieldSelectors:string, url:string, pages:number[])
task(itemsSelector:string, fieldSelectors:string[], urls:string[])
task(itemsSelector:string, fieldSelectors:string[], urls:ExractResult)
task(itemsSelector:string, fieldSelectors:string[], urls:ExtractResult)
See detail help in:
https://git.jebbs.co/jebbs/data-extracter-extesion
@ -70,7 +70,7 @@ function testArgs(...args) {
args[2] instanceof Array &&
testArrayVals(args[2], v => typeof v == "string")
) || (
args[2] instanceof ExractResult
args[2] instanceof ExtractResult
)
);
case 4: