es7 async和await

1.在nodeJS里面使用 node的异步和并发

node默认并发10个,..................

参考:

http://kyfxbl.iteye.com/blog/2009738

js里面的异步:

js 最新版本默认是支持de  ,可以使用promice,await,async  

async function timeout(ms) {
  await new Promise((resolve, reject) => {
    setTimeout(() => {

      console.log('进入timeout');
      resolve()

    }, ms);
  });
}

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

asyncPrint('hello world', 3000);


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

        console.log('进入timeout');
        resolve()

      }, ms);
    });
  }

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

  asyncPrint('hello world', 3000);



对比两段代码:

async 

  让函数返回一个promise 对象  

await:

修饰符,后面跟一个 promise 对象 ,等待 primise执行   ,

当promise,执行完毕(就是返回 resolve())的时候,执行之后的语句(阻塞作用)

await 必须写在async函数里面

await 后面的表达式不是promise,就会正常执行,不会阻塞




参考:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/await

https://segmentfault.com/a/1190000007535316#articleHeader4

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值