刚入前端不到一年,还记得去一家公司面试,当时还没有接触到ES6,更不要说在工作中运用了,对于promise也只是停留在瞄了一眼某文档。当时记得面试官是这样问的,js实现先干完事情1、然后事情2、最后事情3。当时想了一下就用es5事件地狱回调手写了一下这个问题,
123456789 |
function () { do something1 function step2() { dong something2 function step3 (){ do something3 } }} |
当时嘴欠提了一下还可以用promise,结果面试官要求手写一下,当时表示凉凉
现在使用es6后回过头来看,其实用promise实现并不难,反而更加简单
12345678910111213141516171819202122232425262728293031323334353637 |
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)}) |
原文地址:https://www.cnblogs.com/wangziqiang123/p/11618463.html
时间: 2024-07-31 14:26:16