我在构造函数中有一些我想要的设置typescript异步函数,但它不允许
这意味着我不能使用:
我还应该做什么?
目前我有类似的东西,但这不能保证按照我想要的顺序运行吗?
async function run() {
let topic;
debug("new TopicsModel");
try {
topic = new TopicsModel();
} catch (err) {
debug("err", err);
}
await topic.setup();
最佳答案
构造函数必须返回它“构造”的类的实例。 为此,不可能返回 Promise 并等待它。
你可以:
使公共设置异步。
不要从构造函数中调用它。
每当你想“完成”对象构造时调用它。
async function run()
{
let topic;
debug("new TopicsModel");
try
{
topic = new TopicsModel();
await topic.setup();
}
catch (err)
{
debug("err", err);
}
}
关于 TypeScript 中的构造函数-异步构造函数?typescript异步函数,我们在 StackOverflow 上发现了类似的问题: