nodejs-typescipt-Promise代码实例讲解,看完就理解async和await了
来源:互联网 发布:剑三苍云捏脸数据成男 编辑:程序博客网 时间:2024/05/18 02:55
这里就不讲解Promise和Async和Await什么东西了,直接上代码,和对应的结果。希望你能自己跑一边就知道他们之间的区别和什么时候用了。
标准代码和结果:
interface IBase{ do(i:number):Promise<any>;}class BaseClass implements IBase{ async do(i:number):Promise<any>{ return new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve(); },i); }); }}class Aclass extends BaseClass{ async run(i:number,s:string):Promise<void>{ let j = 0; while(j<10){ console.log(s); await this.do(i); j++; } }}async function main(){ let a = new Aclass(); let b = new Aclass(); a.run(2000,'aaaaa'); b.run(3500,'bbbbb'); }main();对应的输出(a每两秒输出一次,b每3.5秒输出一次,他们之间相互不影响各自的时间间隔,犹豫多线程一样。):
aaaaabbbbbaaaaabbbbbaaaaaaaaaabbbbbaaaaaaaaaabbbbbbbbbbbbbbb
如果把BaseClass中的return删除,则输入出入(并且输出是瞬间完成,没有等待时间)
aaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbbaaaaabbbbb
恢复到最开始的代码,如果在main方法内 在a.run(xxxx)和b.run(xxxx)前面都加一个await,则返回结果如下(a每次2秒,a6次循环完毕后,b才开始出现,并且3.5秒一次)
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
好啦,具体为什么是酱紫就有待各位自己去使用了。
跟着代码敲一遍,可能就会有更深入的理解了。
0 0
- nodejs-typescipt-Promise代码实例讲解,看完就理解async和await了
- promise 和async await
- Async/await和promise
- async 和await的结合promise用法
- async/await && promise
- 使用Promise和async-await实现的一个异步遍历+同步执行任务的实例
- nodejs之async,await
- Promise 、Async/Await的使用
- Promise,同步异步,Async/await
- Promise、Async/Await的使用
- 前端的异步解决方案之Promise和Await-Async
- Callback Promise Generator Async-Await 和异常处理的演进
- Callback Promise Generator Async-Await 和异常处理的演进
- 前端的异步解决方案之Promise和Await-Async
- Promise+ajax && async+await+promise+ajax
- 快速理解和使用 ES7 await/async
- 快速理解和使用 ES7 await/async
- 理解 async/await
- 全栈工程师的宿命
- dojo学习日记(4)——Dialog的hide事件与内部widget重置
- dojo学习日记(5)——dojo控件set方法与直接改属性的差别
- mysql 定时任务使用 简略记录
- 合伙创业的经历
- nodejs-typescipt-Promise代码实例讲解,看完就理解async和await了
- dojo学习日记(6)——dojo/_base/fx的 fadeOut()方法
- Hanoi塔问题~~~答案竟然是二叉树的中序遍历
- Android 6.0以上系统webview的onReceivedTitle问题
- 慢慢搞懂父级元素里的子元素垂直居中问题
- Codeforces 349E - Subset Sums
- raspberry pi 3 使用记录(待完成)
- 三种最典型的大数据存储技术路线
- js中 eval的用法