如何将“aaa”分配给??我不能在此类中编写getStr()因为它构成了一个库
class a {
aaa: String
constructor(aaa) {
getStr(function(str) {
// this.aaa = str
})
}
}
function getStr(callback) {
callback("aaa")
}
答案 0 :(得分:0)
如果你有回调我假设我们正在谈论异步执行。在这种情况下答案是
根据定义,构造函数必须返回构造类的实例。这个很重要。不是Promise<MyClass>
,不是Promise<void>
。因此,您尝试存档的内容是不可能的。
请不要遵循可以在构造函数中调用异步函数的错觉,它将完成工作。它将在构造函数代码完成执行后的某个时间完成,或者可能不会 - 取决于与其一起执行的其他代码。这种不确定性 - 使这种方法非常危险和不可预测。
您可以做什么 - 通常如果您需要对需要异步调用的实例执行某些初始化 - 您可以创建一个可以正确调用和等待的单独init(): promise<void>
函数。