美文网首页
await和async

await和async

作者: 钱罗罗_ | 来源:发表于2018-01-23 18:23 被阅读19次

1.async

    async定义的函数,返回一个promise对象。如果你在async定义的函数里返回一个直接量,那么async会把该直接量用promise封装起来,通过resolve输出。所以要访问async返回的结果的时候,使用.then访问

demo1

没有返回值的情况下async函数会返回Promise.resolve(undefined)。而且promise的特点是无等待,执行async,会立即执行。

2.await

await要在async里面调用,await在等待表达式,表达式的计算结果可以是promise对象或者其他的值,但是await必须要等到一个值,虽然它可以接受promise,但是他还是要promise resolve的结果才行,才算完成了自己的任务啊。

    如果await等到的是一个promise,这下好了,await可霸道了,我下面的代码都不许动,我上面已经动完的就算了,我下面的不许动,等我的promise resolve了,await拿到自己想要的值了,他下面的代码才能继续执行。也就是说,在promise resolve之前,await会阻塞它后面的代码。直到promise resolve了一个值,才会释放,继续执行下面的代码。so: await一定要在async里面调用,不然真的阻塞代码,就完啦!!!

    这么理解好一些,就像一个树根,一个async函数就是一个分支,他不会影响主根的生长,即使await阻塞了一个分支的代码,但不会影响主根的生长。

3.作用

    两个关键字的优势在于处理then链,唉...,就是promise的优势。我不想举例子了。。。

相关文章

  • async和await

    浅谈Async/Await用 async/await 来处理异步 async和await async:声明一个异步...

  • ES8(一) —— async&await

    目录 async和普通函数的区别 await async/await处理多回调异步 async和await必须配合...

  • ES6中的好东西

    1 Await/Async 前端的回调时代我没有赶上,我赶上的是await/async时代。await和async...

  • 使用 async 和 await,实现 fetch 同步请求

    使用 async 和 await,实现 fetch 同步请求 关于 async 和 await 的介绍https:...

  • ES2017 async 函数

    async 和 await 在干什么 每个名称都有意义async : 异步await: async wait简...

  • async-await

    一、async-await和Promise的关系 async-await是promise和generator的语法...

  • 小程序-云开发

    async和await async:异步(无等待)await:等待(是为了同步) 一、await 关键字只在 as...

  • async / await

    async / await 优缺点 async 和 await 相比直接使用 Promise 来说,优势在于处理 ...

  • flutter中compute和isolate

    async和await:对于普通的任务,使用async和await可实现异步处理任务,而async的处理方式并非使...

  • Promise 执行顺序

    使用 async 和 await

网友评论

      本文标题:await和async

      本文链接:https://www.haomeiwen.com/subject/kexeaxtx.html