1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-18 12:31:12 +02:00

itemservice: fix promise returning in setItem.

This commit is contained in:
Kushagra Gour
2019-03-14 01:00:55 +05:30
parent 9a2fdfe552
commit 70c66456e4

View File

@@ -89,16 +89,14 @@ export const itemService = {
async setItem(id, item) { async setItem(id, item) {
const d = deferred(); const d = deferred();
var remotePromise; log(`Starting to save item ${id}`);
// Always persist in `code` key for `preserveLastOpenItem` setting. // Always persist in `code` key for `preserveLastOpenItem` setting.
// This key is used to retrieve content of last open item. // This key is used to retrieve content of last open item.
db.local.set({ code: item }, () => {}); db.local.set({ code: item }, () => {});
// NOT LOGGED IN // NOT LOGGED IN
// If `id` is `code`, this is a call on unloadbefore to save the last open thing, if (!window.user) {
// which needs to be persisted locally only.
if (!window.user || id === 'code') {
const obj = { const obj = {
[id]: item [id]: item
}; };
@@ -108,11 +106,9 @@ export const itemService = {
return d.promise; return d.promise;
} }
if (window.user) {
var remoteDb = await window.db.getDb(); var remoteDb = await window.db.getDb();
log(`Starting to save item ${id}`);
item.createdBy = window.user.uid; item.createdBy = window.user.uid;
remotePromise = remoteDb remoteDb
.collection('items') .collection('items')
.doc(id) .doc(id)
.set(item, { .set(item, {
@@ -128,8 +124,7 @@ export const itemService = {
// that you see the feedback msg immediately and not wait for // that you see the feedback msg immediately and not wait for
// later sync. // later sync.
if (!navigator.onLine) return Promise.resolve(); if (!navigator.onLine) return Promise.resolve();
return remotePromise; return d.promise;
}
}, },
/** /**