promise简单实现分步操作
Posted wangziqiang123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了promise简单实现分步操作相关的知识,希望对你有一定的参考价值。
刚入前端不到一年,还记得去一家公司面试,当时还没有接触到ES6,更不要说在工作中运用了,对于promise也只是停留在瞄了一眼某文档。当时记得面试官是这样问的,js实现先干完事情1、然后事情2、最后事情3。当时想了一下就用es5事件地狱回调手写了一下这个问题,
1 2 3 4 5 6 7 8 9
| function () do something1 function step2() dong something2 function step3 () do something3
|
当时嘴欠提了一下还可以用promise,结果面试官要求手写一下,当时表示凉凉
现在使用es6后回过头来看,其实用promise实现并不难,反而更加简单
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| let state = 1; function (resolve,reject) console.log('第一步'); if(state == 1) resolve('第一步执行成功') else reject('第一步执行失败')
function step2(resolve,reject) console.log('第二步'); if(state == 1) resolve('第二步执行成功') else reject('第二步执行失败')
function step3(resolve,reject) console.log('第三步'); if(state == 1) resolve('第三步执行成功') else reject('第三步执行失败')
new Promise(step1).then(function(res) console.log(res) return new Promise(step2) ).then(function(res) console.log(res) return new Promise(step3) ).then(function(res) console.log(res) )
|
原文:大专栏 promise简单实现分步操作
以上是关于promise简单实现分步操作的主要内容,如果未能解决你的问题,请参考以下文章
Promise
js-Promise基础
使用Promise.race实现超时机制取消XHR请求
Promise 对象
promise知识盲区整理
简易promise的实现