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的实现