等待后不执行异步/等待代码

Siv*_*iva 4 javascript asynchronous async-await

我一直在讨论异步/等待。我尝试了一些简单的例子,但无法理解 async 和 wait 的流程。在下面的代码中

function wait(ms) {
  return new Promise(r => setTimeout(function() {
    console.log('Hello');
  }, ms));
}

async function GetUser() {
  await wait(5000);
  console.log('world');
}

GetUser();
Run Code Online (Sandbox Code Playgroud)

为什么消息“world”没有被记录?仅打印“Hello”。

Nur*_*yev 5

您应该调用解析器。

function wait(ms) { 
 return new Promise(r => setTimeout(function(){console.log('Hello'); r();}, 
//                                                                   ^^^ this
ms));
}
Run Code Online (Sandbox Code Playgroud)

参考:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise