首页 > 代码库 > nodejs学习笔记之async,await
nodejs学习笔记之async,await
async应该是目前nodejs里最简单直白的异步方案了,async函数实际上就是generator函数的语法糖,省掉了callback的回调地狱,generator的yield next,promise的 .then .catch,使代码看起来更像是同步流程方案,更扁平化。下面看个例子:
这里我们要实现一个暂停功能,输入N毫秒,则停顿N毫秒后才继续往下执行。
// 这里是一个功能函数 也可以是其他比较耗时的操作。 var sleep = function (time) { return new Promise(function (resolve, reject) { setTimeout(function () { resolve(); }, time); })}; var start = async function () { // 在这里使用起来就像同步代码那样直观 console.log(‘start‘); await sleep(3000); console.log(‘end‘); }; start();
控制台先输出start,稍等3秒后,输出了end。
async函数使用方式:
// async 必不可少 是async函数的标志 async function myFunc(){ ... //普通代码 await ... // 1 耗时代码 或执行耗时函数 执行并等待完成之后继续执行下面的代码 let res = await ... // 2 耗时代码 或执行耗时函数 并得到返回结果 ... }
错误捕捉方式:
// async 使用try.catch捕捉错误 async function myFunc(){ try{ ... await ... } catch(e) { throw e; } }
本文参考http://cnodejs.org/topic/5640b80d3a6aa72c5e0030b6
本文出自 “__无字书” 博客,请务必保留此出处http://wuzishu.blog.51cto.com/6826059/1894990
nodejs学习笔记之async,await
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。