Я использую Babylon js в своем проекте, и я должен импортировать сетки с помощью метода ImportMeshAsyn c. Этот метод выглядит следующим образом:
static ImportMeshAsync(meshNames: any, rootUrl: string, sceneFilename?: string | File, scene?: Nullable<Scene>, onProgress?: Nullable<(event: SceneLoaderProgressEvent) => void>, pluginExtension?: Nullable<string>): Promise<{
meshes: AbstractMesh[];
particleSystems: IParticleSystem[];
skeletons: Skeleton[];
animationGroups: AnimationGroup[];
}>;
Мой случай:
Promise.all(
tilesArray.map(asset =>
BABYLON.SceneLoader.ImportMeshAsync(
"",
`http://localhost:2050/${asset}/`,
"model.glb",
scene,
handleMeshLoading
).then(mesh => {
mesh.meshes[0].rotate(
BABYLON.Axis.X,
Math.PI / 2,
BABYLON.Space.LOCAL
);
return mesh;
})
)
)
.then(this.handleComplete)
}
Обработка завершена:
handleComplete = (
meshes: {
meshes: AbstractMesh[];
particleSystems: IParticleSystem[];
skeletons: Skeleton[];
animationGroups: AnimationGroup[];
}[]
) => {
this.broadcastService.broadcast(EVENT_TYPE.PROGRESS_BAR_LOADED, true);
this.model = meshes;
};
in .then (this.handleComplete) У меня есть эта ошибка:
Argument of type '(meshes: { meshes: AbstractMesh[]; particleSystems: IParticleSystem[]; skeletons: Skeleton[]; animationGroups: AnimationGroup[]; }[]) => void' is not assignable to parameter of type '(value: [unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown]) => void | PromiseLike<void>'.
Types of parameters 'meshes' and 'value' are incompatible.
Type '[unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown]' is not assignable to type '{ meshes: AbstractMesh[]; particleSystems: IParticleSystem[]; skeletons: Skeleton[]; animationGroups: AnimationGroup[]; }[]'.
Type '{}' is missing the following properties from type '{ meshes: AbstractMesh[]; particleSystems: IParticleSystem[]; skeletons: Skeleton[]; animationGroups: AnimationGroup[]; }': meshes, particleSystems, skeletons, animationGroupsts(2345)
Я не знаю почему, потому что в handleComplete я объявил аргумент того же типа, что и ImportMeshAsyn c. Когда я использую мешей: любой [] все нормально, но я не должен использовать любой тип ..