From 2cb0cfba341b351f241042a7fad005cc0a33535b Mon Sep 17 00:00:00 2001 From: rexyan Date: Thu, 21 Dec 2017 17:12:44 +0800 Subject: [PATCH] Use getAll instead of cursor in indexeddb --- src/protocols/indexeddb.js | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/protocols/indexeddb.js b/src/protocols/indexeddb.js index ad1b721..ddc3f9f 100644 --- a/src/protocols/indexeddb.js +++ b/src/protocols/indexeddb.js @@ -114,24 +114,23 @@ export default class IndexedDBLogger extends LoggerInterface { logs = []; request.onsuccess = event => { - var cursor = event.target.result; - if (cursor) { - if ((from && cursor.value.time < from) || (to && cursor.value.time > to)) { - cursor.continue(); + if (event && event.target && event.target.result && event.target.result.length > 0) { + const len = event.target.result.length; + for (let i = 0; i < len; i++) { + const value = event.target.result[i]; + if ((from && value.time < from) || (to && value.time > to)) { + continue; + } + logs.push({ + time: value.time, + level: value.level, + namespace: value.namespace, + descriptor: value.descriptor, + data: value.data + }); } - - logs.push({ - time: cursor.value.time, - level: cursor.value.level, - namespace: cursor.value.namespace, - descriptor: cursor.value.descriptor, - data: cursor.value.data - }); - cursor.continue(); - } - else { - readyFn(logs); } + readyFn(logs); }; request.onerror = event => util.throwError('failed to literat on logs from database.');