diff --git a/usr/lib/hosts-switch/webapp/utils/index.js b/usr/lib/hosts-switch/webapp/utils/index.js index 0aa86b9..ceb8c1e 100644 --- a/usr/lib/hosts-switch/webapp/utils/index.js +++ b/usr/lib/hosts-switch/webapp/utils/index.js @@ -20,14 +20,15 @@ export function checkPermission() { export async function getHistory() { if (await native.fs.isfile(LOCK_FILE)) { - var cache = await native.fs.read(HOST_FILE) + let cache = await native.fs.read(HOST_FILE) return JSON.parse(cache) } - var cache = native.fs.read('/etc/hosts').toString() - var records = cache.split(/[\n\r]+/) - var list = [] - var dict = {} + let cache = await native.fs.read('/etc/hosts').toString() + let records = cache.split(/[\n\r]+/) + let list = [] + let dict = {} + records.forEach(str => { str = str.trim() let matches = str.match(/^(#*?)\s*(\d+\.\d+\.\d+\.\d+)\s+(.*)/) @@ -68,8 +69,10 @@ export async function getHistory() { } }) list = null - native.fs.write(HOST_FILE, JSON.stringify(dict)) - native.fs.write(LOCK_FILE, '') + try { + await native.fs.write(HOST_FILE, JSON.stringify(dict)) + await native.fs.write(LOCK_FILE, '') + } catch (err) {} return dict }