了解异步调用

时间:2018-03-16 03:22:56

标签: javascript asynchronous async-await

从这个medium article,它说

  

这是同步代码的示例:

     

的console.log(' 1&#39)

     

的console.log(' 2&#39)

     

的console.log(' 3&#39)

     

此代码将可靠地记录“1 2 3"。

     

异步请求将等待计时器完成或请求响应,而其余代码继续执行。然后,当时间正确时,回调将使这些异步请求生效。

console.log('1')
setTimeout(function afterTwoSeconds() {
  console.log('2')
}, 2000)
console.log('3')

//prints 1 3 2

我使用下面的代码

来找到Async/Await
function resolveAfter2Seconds() {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve('2');
    }, 2000);
  });
}

async function asyncCall() {
  console.log('1');
  var result = await resolveAfter2Seconds();
  console.log(result);
  // expected output: "resolved"
  console.log('3');
}
asyncCall();

不确定我是否理解错误,但在我看来,关键字asyncawait会将Asynchronous函数转换为synchronous函数?

0 个答案:

没有答案