async

一、含义

        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函数之中,如果用在普通函数中就会报错。

 

转载于:https://my.oschina.net/qimeijun/blog/755745

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值