javascript – 如何用异步等待包装回调?

前端之家收集整理的这篇文章主要介绍了javascript – 如何用异步等待包装回调?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的函数解析了http服务器启动后立即解析的承诺.这是我的代码
  1. function start() {
  2. return new Promise((resolve,reject) {
  3. this.server = Http.createServer(app);
  4. this.server.listen(port,() => {
  5. resolve();
  6. });
  7. })
  8. }

如何将启动功能转换为异步/等待?

解决方法

函数声明之前包含异步并等待Promise构造函数.虽然请注意,您实际上是在为现有模式添加代码. await将值转换为Promise,尽管Question的代码已经使用了Promise构造函数.
  1. async function start() {
  2. let promise = await new Promise((resolve,reject) => {
  3. this.server = Http.createServer(app);
  4. this.server.listen(port,() => {
  5. resolve();
  6. });
  7. })
  8. .catch(err => {throw err});
  9.  
  10. return promise
  11. }
  12.  
  13. start()
  14. .then(data => console.log(data))
  15. .catch(err => console.error(err));

猜你在找的JavaScript相关文章