![](/img/trans.png)
[英]How can I access a class property in an arrow function passed to a constructor?
[英]In TypeScript, How can I use a external function in a class constructor function and get value from callback and assign to a property
我如何為a分配“ aaa”?我不能在此類中編寫getStr(),因為它形成了一個庫
class a {
aaa: String
constructor(aaa) {
getStr(function(str) {
// this.aaa = str
})
}
}
function getStr(callback) {
callback("aaa")
}
如果您有回調,我假設我們正在談論異步執行。 在這種情況下,答案是
根據定義,構造函數必須返回所構造類的實例。 這個很重要。 不是Promise<MyClass>
,不是Promise<void>
。 因此,您嘗試存檔的內容是不可能的。
請不要幻想您可以在構造函數中調用異步函數,它會完成工作。 它會在構造函數代碼執行完畢后的某個時候完成,或者可能不會完成-取決於同時執行的其他代碼。 這種不確定性-使得這種方法極其危險且不可預測。
您可以執行的操作-通常在需要執行需要異步調用的實例的初始化時-創建一個單獨的init(): promise<void>
函數,可以正確地調用它並等待它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.