文档章节

async

Mrseven
 Mrseven
发布于 2016/10/09 14:47
字数 269
阅读 8
收藏 0

一、含义

        ES7中提供了async函数,是的异步操作变得更加方便。

        async 函数就是Generator函数的语法通。

        async函数的实现就是讲Generator函数和自动执行器包装在一个函数里。

二、用法

        同Generator函数一样,async函数返回一个Promise对象,可以使用then() 添加回调函数,当函数执行的时候,一旦遇到await 就会先返回,等到出发的异步操作完成,再接着执行函数体内后面的语句。

var async = require('asyncawait/async');
var await = require('asyncawait/await');


function timeout(ms) {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
}

async function asyncPrint(value, ms) {
  await timeout(ms);
  console.log(value)
}
asyncPrint('hello world', 50);

        我也不知道为什么上面这种写法放在nodejs中总是报错,但是我换种写法就能正常运行了。

var async = require('asyncawait/async');
var await = require('asyncawait/await');
function timeout(ms) {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
}
(async(
  function () {
     await(timeout(50));
     console.log('hello world');
  }
))();

await 命令只能用在async函数之中,如果用在普通函数中就会报错。

 

© 著作权归作者所有

上一篇: CommonJs 规范
下一篇: Promise
Mrseven
粉丝 0
博文 52
码字总数 39044
作品 0
朝阳
程序员
私信 提问
加载中

评论(0)

如何避免 async/await 地狱

async/await 让我们摆脱了回调地狱,但是这又引入了 async/await 地狱的问题。 什么是 async/await 地狱 在 Javascript 中进行异步编程的时候,人们总是使用很多 await 语句,很多时候我们的...

极光推送
2018/04/25
21
0
openssl 1.1.x版本的async模式

在这篇文章中: 一、什么是async job 二、Async job原理是啥 三、应用场景:SSL硬件加速卡QAT 一、什么是async job Asyn job是openssl把cpu等aio操作和硬件加速卡不占用cpu的操作剥离出来,这...

mariolu
2018/12/24
0
0
Node 绑定全局 TraceID

问题描述 由于Node.js的单线程模型的限制,我们无法设置全局 traceid 来聚合请求,即实现输出日志与请求的绑定。如果不实现日志和请求的绑定,我们难以判断日志输出与对应用户请求的对应关系...

Jiahonzheng
2019/11/17
0
0
异步终结者 async await , 了解一下(面试难点)

前言 文章涉及的内容可能不全面,但量很多,需要慢慢看。我花了很长的时间整理,用心分享心得,希望对大家有所帮助。但是难免会有打字的错误或理解的错误点,希望发现的可以邮箱告诉我11636...

Fe_从零到壹
2019/11/14
0
0
ES6 系列之我们来聊聊 Async

async ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 在异步处理上,async 函数就是 Generator 函数的语法糖。 举个例子: 当你使用 async 时: 其实 async 函数的实现原理,就...

冴羽
2018/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一款提升IT运维工作效率的工具,你值得拥有!

IT运维的工作内容主要是负责服务器硬件配置、独立主机或虚拟化产品的开通维护、服务器日常运行监控和管理等,具体的要看企业对这个岗位的要求。 而像运维这样的岗位,我个人是推荐可以使用一...

欢乐马在开源
24分钟前
44
0
IDEA 多线程Debug

一、问题描述 在idea中的进行调试时,代码中有多线程,想对线程中的代码进行跟踪,代码如下: for (int i = 0; i < 5; i++) { final int index = i; exec...

Airship
28分钟前
19
0
jenkins 插件加速

参考:https://my.oschina.net/VASKS/blog/3106314 主要是自己创建一个nginx, 让jenkins从清华源下载。 以下是创建nginx的Dockerfile Dockerfile FROM nginxADD nginx.conf /etc/nginx/ngi......

杰仪
28分钟前
43
0
五分钟自学编程:怎样才能学好笔试面试最爱考察的算法

原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 本文思维导图 什么是算法 上回我们有一篇文章,讲述了作为一个新人程序员,如何学习数据结构这门课程,其实呢,数据结构和...

黄小斜
32分钟前
24
0
面试题 11:旋转数组的最小数字

题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋...

Oaki
38分钟前
50
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部