Вавилон js Аргумент типа '' нельзя назначить параметру типа '' - PullRequest
2 голосов
/ 01 апреля 2020

Я использую 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. Когда я использую мешей: любой [] все нормально, но я не должен использовать любой тип ..

...