asyncawait使用与原理

Posted Vicky沛沛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asyncawait使用与原理相关的知识,希望对你有一定的参考价值。

gitbook完整版集合

async、await使用与原理

  • 异步情况:定时器、ajax、事件处理、nodejs、读取文件也有异步
let p = new Promise((resolve,reject)=>
  resolve(1);
)
//这里的function就是promise中调用的resolve。那么上面掉哟哦那个resolve(1),data参数就是1 
p.then(function(data)		
  console.log('success',data)		//success 1
)

  • Promise减少嵌套关系,是一个链式编程的结果

  • axios就是把ajax用promise封装了一下

  • async、await最简单的使用就是省去then的步骤,改成类似同步的过程,等待成功才会执行下面。方便、可读性强、异步改成类似同步写法

  • async和await其实是generator和yield的语法糖。async、await使得代码清晰。

  • Generator里面的代码是分段执行。看到yield就分段暂停。

function *helloGenerator()
  yield 'hello';
  yield 'world';
  yield 'ending';


var hw = helloGenerator();
console.log(hw);		//这个函数的结果并不是摁钉,因为代码是暂停的。是一个暂停标记,标记指向'hello'等结果
console.log(hw.next())	//hello
console.log(hw.next().next())		//world
console.log(hw.next().next().next())		//ending
console.log(hw.next().next().next().next())		//undefined

以上是关于asyncawait使用与原理的主要内容,如果未能解决你的问题,请参考以下文章

小小一方士 C# AsyncAwait 之 上传/下载文件进度条实现原理

yortus/asyncawait,tj/co 这两个 nodejs 库有何区别

python-asyncawait关键字与实战(asyncio,aiohttp库的使用)

asyncawait与Promise

为啥 Async Await 可以与 React setState 一起使用?

NodeJs使用asyncAwait两法