MemoryCache UpdateCallback似乎仅对过期的项目触发。
请考虑以下测试代码:
function badRenderFn(field1: FormField, field2: FormField) {
const renderFn1 = assertNarrowFunction(fieldMapping[field1.type]);
renderFn1(field2.data); // no error!!! ooops
}
运行此代码 OnCacheItemUpdate 只会在该项目在〜15秒后过期时触发,但在从1-> 2替换后不会触发。
这对我来说似乎是个错误,因为CacheEntryUpdateArguments.RemovedReason可以是其他,然后是Expired。 RemovedCallback的行为符合预期。
到期时间似乎也有些延迟,从未精确到15秒。
这是一个已知的错误,还是设计使然?还是我错过了什么?