小编sir*_*kir的帖子

Angular - 如何在加载组件之前等待提供者获取请求完成?

我的程序使用我的player.ts 文件中使用的全局变量。我将此播放器文件导入到侧边栏组件中,现在出现应用程序错误。问题是应用程序正在加载侧边栏组件,然后在player.ts 中完成获取请求。我首先在 app.module 中初始化player.ts 文件。如果在那里我可以提示应用程序在加载组件之前等待?我尝试使用await javascript关键字,但似乎所有组件和导入的文件都是从app.moudle异步加载的。

应用程序模块.ts

 import { Player } from './player';
 import { SidebarComponent } from './sidebar/sidebar.component';
 @NgModule({
   declarations: [
     AppComponent,
     SidebarComponent,
   ],
   imports: [
     BrowserModule,
     AppRoutingModule,
     HttpClientModule,
        ],
   providers: [Player],
   bootstrap: [AppComponent]
 })

 export class AppModule {

   constructor(private player: Player) { 
     console.log("first console.log yeee");
     this.processPlayer()
   }
   async processPlayer(){
     let tester1 = await this.player.loadPlayer();
   }
  }
Run Code Online (Sandbox Code Playgroud)

侧边栏.component.ts

 import { Component, OnInit } from '@angular/core';
 import { Router } from '@angular/router';
 import { Player } from '../player';

 @Component({ …
Run Code Online (Sandbox Code Playgroud)

javascript angular

3
推荐指数
1
解决办法
3797
查看次数

Three.JS - GLTF 模型加载缓慢。如何加快加载时间?

我将 GLTF 模型(9mb)加载到 ThreeJS 中。加载速度肯定很慢。在我的 PC 上加载大约需要 4-5 秒,在 iPhone 上加载大约需要 11 秒。如何加快渲染时间?我的 PC 和 iPhone 从 ThreeJS 网站加载示例的速度比我的项目更快。我的项目只加载了一个对象,所以我觉得它应该比 ThreeJS 网站上的示例加载得更快。

我的示例项目位于此处@http: //flowolfsworld.com/

代码

var ourObj;
var ourObj2;

// Instantiate a loader
var loader = new THREE.GLTFLoader();

// Optional: Provide a DRACOLoader instance to decode compressed mesh data
var dracoLoader = new THREE.DRACOLoader();
dracoLoader.setDecoderPath( '/js/draco/' );
loader.setDRACOLoader( dracoLoader );



let scene, camera, renderer, stars, starGeo;

function init() {

  scene = new THREE.Scene();

  camera = new THREE.PerspectiveCamera(75,window.innerWidth/window.innerHeight,0.1,1000)
  camera.position.z = 25;

  //renderer …
Run Code Online (Sandbox Code Playgroud)

javascript three.js gltf

1
推荐指数
1
解决办法
7114
查看次数

标签 统计

javascript ×2

angular ×1

gltf ×1

three.js ×1