我是 TypeScript 的新手,我在以下代码中遇到错误:
import { z } from "zod";
export const SpatialEntity = z.object({
dimension_units: z.string().optional(),
placement: SpatialPlacement
});
export const SpatialPlacement = SpatialPlacementCommon.extend({
source: z.string().or(SpatialEntity).optional(),
target: z.string().or(SpatialEntity)
});
错误很直接......因为变量是相互依赖的。
ReferenceError: Cannot access 'SpatialPlacement' before initialization
如果我互换上述变量,即如果我先写
SpatialPlacement
然后SpatialEntity
那么错误也是一样的。
知道如何解决这个问题吗?任何线索将不胜感激。谢谢!
我认为你必须改变代码的结构。
这可能会导致 SpatialPlacement 的无限循环,在 SpatialEntity 内部,它有另一个 SpatialPlacement,带有 SpatialEntity 等。