Typescript中的异步构造函数
在我的一个typescript文件中,我有两个类,每个类都有一个构造函数。然后在每个类中,它需要获取彼此的类的实例。我的代码如下:Typescript中的异步构造函数,typescript,asynchronous,Typescript,Asynchronous,在我的一个typescript文件中,我有两个类,每个类都有一个构造函数。然后在每个类中,它需要获取彼此的类的实例。我的代码如下: namespace pxsim { export class Board extends pxsim.BaseBoard { public tMap: trafficMap = new trafficMap(); public x: number; public y: number; const
namespace pxsim {
export class Board extends pxsim.BaseBoard {
public tMap: trafficMap = new trafficMap();
public x: number;
public y: number;
constructor(){
this.y = 10;
this.x = this.tMap.x;
}
}
export class trafficMap{
public b: Board = new Board();
public y: number;
public x: number;
constructor(){
this.x = 20;
this.y = this.b.y;
}
}
}
当我在浏览器中运行它时,控制台显示一个错误,说“trafficMap不是构造函数”。我认为这是因为在Board
类中,当它试图创建trafficMap
的实例时,由于代码还没有到达trafficMap
类,它还没有加载它的内容。因此,我认为我需要类似异步构造函数的东西。如果有什么问题,请纠正我
因此,我认为我需要类似异步构造函数的东西。如果有什么问题,请纠正我
没有异步构造函数
修理
当你有两个相互依赖的类时,你真正拥有的是三个类。两个独立的(您已经拥有)和一个编排器(您拥有的两者之间的真正耦合)
- 最快的修复方法:只需创建一个结合了这三个特性的类李>
- 更好:根据需要将功能分为三类
- 最快的修复方法:只需创建一个结合了这三个特性的类李>
- 更好:根据需要将功能分为三类
trafficMap
中的所有功能都取决于Board
中的设置,并且Board
需要获取trafficMap
的一个实例来运行trafficMap
中的功能来执行某些操作,该怎么办?我是否根据功能来分离功能?在我的例子中,如果类trafficMap
中的所有功能都取决于Board
中的设置,并且Board
需要获取trafficMap
的一个实例来运行trafficMap
中的功能以执行某些操作,该怎么办?