我的函数解析了http服务器启动后立即解析的承诺.这是我的代码:
@H_301_2@function start() {
return new Promise((resolve,reject) {
this.server = Http.createServer(app);
this.server.listen(port,() => {
resolve();
});
})
}
如何将启动功能转换为异步/等待?
解决方法
在函数声明之前包含异步并等待Promise构造函数.虽然请注意,您实际上是在为现有模式添加代码. await将值转换为Promise,尽管Question的代码已经使用了Promise构造函数.
@H_301_2@async function start() {
let promise = await new Promise((resolve,reject) => {
this.server = Http.createServer(app);
this.server.listen(port,() => {
resolve();
});
})
.catch(err => {throw err});
return promise
}
start()
.then(data => console.log(data))
.catch(err => console.error(err));