Я написал следующий код
updatePublication(projectName, publicationId, publicationObj, callback) {
let self = this;
this.initDatabase(function (db) {
let tx = self.db.transaction(self.PUBLICATIONS, self.READ_WRITE);
let store = tx.objectStore(self.PUBLICATIONS);
let index = store.index(self.PROJECT_NAME);
let request3 = index.openCursor(IDBKeyRange.only(projectName));
console.log("hrere");
request3.onsuccess = function () {
let cursor = request3.result;
if (cursor) {
let updateObject = cursor.value;
if (updateObject.publicationID == publicationId) {
updateObject.publicationObject = publicationObj;
cursor.update(updateObject);
callback(publicationId);
}
cursor.continue();
} else {
callback(publicationId);
}
};
});
}
Но это дает ошибку:
Я проверил причину ошибки. Это потому, что переданная публикацияObj имеет объект с именем _requestObjectBuilder типа Subscriber.
используется где-то в коде так:
_requestObjectBuilder = интервал (1000) .pipe (tap (() => {}));
Есть ли способ изменить код updatePublication, чтобы игнорировать это значение?
Поддерживает ли индексированная база данных запрос на игнорирование значения и сохранение данных?
Примечание: если я установил публикациюObj._requestObjectBuilder = undefined, данные будут сохранены в indexedDB. Но это нарушает функциональность, в которой используется _requestObjectBuilder.