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

时间:2018-12-07 15:12:55

标签: javascript asynchronous async-await

我一直在进行异步/等待。我尝试了几个简单的示例,但无法理解异步和等待的流程。在下面的代码中

block :: IO (Maybe Picture)
block = loadJuicyPNG "block.png"

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

2 个答案:

答案 0 :(得分:3)

您需要解决它。因此致电r()

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

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

答案 1 :(得分:2)

您应该致电解析器。

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

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