in public/dexie.js [3335:3371]
_promise: function (mode, fn, bWriteLock) {
var _this = this;
if (mode === READWRITE && this.mode !== READWRITE)
return rejection(new exceptions.ReadOnly("Transaction is readonly"));
if (!this.active)
return rejection(new exceptions.TransactionInactive());
if (this._locked()) {
return new Promise(function (resolve, reject) {
_this._blockedFuncs.push([
function () {
_this._promise(mode, fn, bWriteLock).then(resolve, reject);
},
PSD,
]);
});
} else if (bWriteLock) {
return newScope(function () {
var p = new Promise(function (resolve, reject) {
_this._lock();
var rv = fn(resolve, reject, _this);
if (rv && rv.then) rv.then(resolve, reject);
});
p.finally(function () {
return _this._unlock();
});
p._lib = true;
return p;
});
} else {
var p = new Promise(function (resolve, reject) {
var rv = fn(resolve, reject, _this);
if (rv && rv.then) rv.then(resolve, reject);
});
p._lib = true;
return p;
}
},