跳到主要内容

StorageFetchUrlConflictError

Defined in: packages/rxdb-plugin-storage/src/errors.ts:121

同一 opfsPath 上已有一个指向别的 URL 的 fetch 正在进行。

Remarks​

STOR-003:in-flight 去重的 key 早先只有 opfsPath,于是后到的调用会静默拿到 前一个 URL 的字节 —— 相当于无声的缓存投毒。现在显式拒绝,让调用方自己决定是 换路径还是等前一个完成。

注意这只覆盖并发窗口;路径上已有缓存时「不发请求直接返回缓存」是 RxdbFileStorage.fetch 既定的永久缓存语义,与本错误无关。

Extends​

  • Error

Constructors​

Constructor​

new StorageFetchUrlConflictError(
opfsPath,
inFlightUrl,
requestedUrl
): StorageFetchUrlConflictError;

Defined in: packages/rxdb-plugin-storage/src/errors.ts:130

创建并发 URL 冲突错误。

Parameters​

ParameterType
opfsPathstring
inFlightUrlstring
requestedUrlstring

Returns​

StorageFetchUrlConflictError

Overrides​

Error.constructor

Properties​

cause?​

optional cause?: unknown;

Defined in: node_modules/.pnpm/typescript@6.0.3_patch_hash=ef3c2292deb88eb14130359d5acc1febc0226af46b7b945db6c7250c6cb4efbb/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from​

Error.cause

inFlightUrl​

readonly inFlightUrl: string;

Defined in: packages/rxdb-plugin-storage/src/errors.ts:125

正在进行中的那次 fetch 使用的 URL。


message​

message: string;

Defined in: node_modules/.pnpm/typescript@6.0.3_patch_hash=ef3c2292deb88eb14130359d5acc1febc0226af46b7b945db6c7250c6cb4efbb/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from​

Error.message

name​

name: string;

Defined in: node_modules/.pnpm/typescript@6.0.3_patch_hash=ef3c2292deb88eb14130359d5acc1febc0226af46b7b945db6c7250c6cb4efbb/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from​

Error.name

opfsPath​

readonly opfsPath: string;

Defined in: packages/rxdb-plugin-storage/src/errors.ts:123

发生冲突的规范化 OPFS 相对路径。


requestedUrl​

readonly requestedUrl: string;

Defined in: packages/rxdb-plugin-storage/src/errors.ts:127

本次调用请求的 URL。


stack?​

optional stack?: string;

Defined in: node_modules/.pnpm/typescript@6.0.3_patch_hash=ef3c2292deb88eb14130359d5acc1febc0226af46b7b945db6c7250c6cb4efbb/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from​

Error.stack

stackTraceLimit​

static stackTraceLimit: number;

Defined in: node_modules/.pnpm/@types+node@26.6.3/node_modules/@types/node/globals.d.ts:67

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from​

Error.stackTraceLimit

Methods​

captureStackTrace()​

static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/.pnpm/@types+node@26.6.3/node_modules/@types/node/globals.d.ts:51

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
b();
}

function b() {
c();
}

function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;

// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}

a();

Parameters​

ParameterType
targetObjectobject
constructorOpt?Function

Returns​

void

Inherited from​

Error.captureStackTrace

prepareStackTrace()​

static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/.pnpm/@types+node@26.6.3/node_modules/@types/node/globals.d.ts:55

Parameters​

ParameterType
errError
stackTracesCallSite[]

Returns​

any

See​

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from​

Error.prepareStackTrace