可以在javascript中等待类吗?

可以在javascript中等待类吗?,javascript,node.js,Javascript,Node.js,关键字await使JavaScript等待,直到该承诺解决并返回其结果 我注意到它可以等待一个函数 var neonlight = await neon(); 可以等待一节课吗 示例 var neonlight = await new Neon(neon_gas); 技术上。。是的,如果构造函数返回一个Promise,并且只要await在async函数中,下面是一个示例(实际上可能不是最好的,但这只是为了让它工作): 类测试{ 构造函数(){ 返回新承诺((res,rej)=>{ this

关键字
await
使JavaScript等待,直到该承诺解决并返回其结果

我注意到它可以等待一个函数

var neonlight = await neon();
可以等待一节课吗

示例

var neonlight = await new Neon(neon_gas);

技术上。。是的,如果构造函数返回一个
Promise
,并且只要
await
async
函数中,下面是一个示例(实际上可能不是最好的,但这只是为了让它工作):

类测试{
构造函数(){
返回新承诺((res,rej)=>{
this.getData().then({userId,title})=>{
this.userId=userId;
this.title=标题;
res(本);
});
});
}
getData(){
返回获取('https://jsonplaceholder.typicode.com/todos/1')
.then(response=>response.json())
}
问候(){
log('hello');
}
}
(异步()=>{
常数x=等待新测试();
log(x.userId,':',x.title);

})();
await
用于异步函数,据我所知,构造函数不能是异步的。你到底为什么要这样做?这样做的意义何在?我不喜欢这是一个重复,而赞成一堆过时(和错误)的答案说“这是不可能的”,当明确给出Taki下面的答案时,这是可能的。我投票重开这个问题,赞成将这些问题标记为这个问题的副本。这看起来很粗略,即使它确实有效
newtest()
应该是一个
Test
,而不是
Promise
应该是?这是javascript!任何事情都可能发生anything@crashmstr你可以用
这个
res(this)
来解决这个问题,让
测试
而不是
你好
,我想不出一个真正的用例,但是。。从技术上讲,我可能正在编写一些使用knex的代码(knex使用承诺查询数据库)。。。我想重新使用一个类。。。我可以重新使用一个函数…一个类看起来更宏伟和有序。很棒的帮助@Taki@xaander1 OOP(不仅仅是javascript,还可以查看Java中使用CompletionStage的异步初始化器)已经为这个用户提供了一个设计模式—构建器模式