我的 NextJS 13 服务器(应用程序路由器)记录了一个TypeError: Response body object should not be disturbed or locked我不知道如何跟踪的错误。当我尝试注册新用户时偶尔会发生这种情况,但并非每次都会发生。
\xe2\xa8\xaf TypeError: Response body object should not be disturbed or locked\n at extractBody (node:internal/deps/undici/undici:6433:17)\n at new Request (node:internal/deps/undici/undici:7314:48)\n at new NextRequest ([project]/node_modules/next/dist/server/web/spec-extension/request.js:33:14)\n at NextRequestAdapter.fromNodeNextRequest ([project]/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js:75:16)\n at NextRequestAdapter.fromBaseNextRequest ([project]/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js:51:35)\n at doRender ([project]/node_modules/next/dist/server/base-server.js:1215:69)\n at cacheEntry.responseCache.get.incrementalCache.incrementalCache ([project]/node_modules/next/dist/server/base-server.js:1432:46)\n at [project]/node_modules/next/dist/server/response-cache/index.js:102:42\n at ResponseCache.get ([project]/node_modules/next/dist/server/response-cache/index.js:156:11)\n at DevServer.renderToResponseWithComponentsImpl ([project]/node_modules/next/dist/server/base-server.js:1360:53)\n\nRun Code Online (Sandbox Code Playgroud)\n我正在使用@supabase/auth-helpers-nextjswith next-intl,但无法判断它们是否与该问题相关。据我所知,路由处理程序和中间件是我的代码中唯一在注册时处理请求和响应的地方。
路线处理程序:
\n \xe2\xa8\xaf TypeError: Response body object should not be disturbed or locked\n at extractBody …Run Code Online (Sandbox Code Playgroud) 我需要我的应用程序在后台运行时在 HealthKit 和我们的数据库之间同步。我只是无法理解决定 HKObserverQueries 如何以及何时运行其 updateHandlers 的逻辑。我需要各种不同样本类型的数据,因此我假设我需要为每一种样本进行观察者查询。正确的?
根据Apple关于enableBackgroundDeliveryForType函数的说法,“每当指定类型的新样本保存到商店时,HealthKit就会唤醒您的应用程序。” 但是,如果我启用后台交付并执行血糖和体重等观察者查询,那么每当我在健康应用程序中的其中一个中输入数据时,它们似乎都会运行其更新处理程序。即使我仅为其中一种示例类型启用后台传送,这种情况似乎也会发生。为什么?
func startObserving(completion: ((success: Bool) -> Void)!) {
let sampleTypeBloodGlucose = HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBloodGlucose)!
let sampleTypeWeight = HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierBodyMass)!
// Enable background delivery for blood glucose
self.healthKitStore.enableBackgroundDeliveryForType(sampleTypeBloodGlucose, frequency: .Immediate) {
(success, error) in
if error != nil {
abort()
}
}
// Enable background delivery for weight
self.healthKitStore.enableBackgroundDeliveryForType(sampleTypeWeight, frequency: .Immediate) {
(success, error) in
if error != nil {
abort()
}
}
// Define update handlers for background deliveries
let updateHandlerBloodGlucose: …Run Code Online (Sandbox Code Playgroud)