编程结构:Promise和Future
非阻塞模型中Promise,Future 和 Callback一些比较常用的模型;
Future表示一个可能还没有实际完成的异步任务结果;实际在编程中,应用future数据结构的时候,你得到并不是一个真实结果;而是一个FutureData; 真实的结果可能还没有处理完成。当然你可以针对这个结果添加Callback操作(成功或者失败的回调)。
Promise结构如同一个状态机,是基于状态的流程控制结构;在不同的状态过程中,由任务执行提供相应的事务来决定在这个状态的时候,程序该做什么;
Promise有4种状态:
- pending: 还没有得到肯定或者失败结果,进行中
- fulfilled: 成功的操作
- rejected: 失败的操作
- settled: 已被
fulfilled
或rejected
提供方法:
- then:将事务添加到事务队列中
- resolve:开启流程,让整个操作从第一个事务开始执行