var pa1 = function () {
console.log('爬一楼');
return {
success: (fun) => {fun();}
}
};
var pa2 = function () {
console.log('爬二楼');
return {success: (fun) => {fun();}}
};
var pa3 = function () {
console.log('爬三楼');
return {
success: function () {
}
}
};
function promiseAaa (i) {
return new Promise(function(resolve, reject) {
let k = 1;
function _fun(k) {
k++;
console.log('downloading', k);
if (k > 10) {
console.log('download ok!');
return resolve();
// return reject();
}
_fun(k);
}
_fun(k);
});
}
promiseAaa().then(function () {
console.log('download finish');
})
Promise应用场景:比如下载东西
一定要做完一件事,再做下一件事情,爬楼梯,你一定要成功爬了1楼才能爬2楼,然后3楼,跟嵌套函数略有区别,promise是链式写法,可以写成一行。而嵌套函数不能写成一行,空格会很多。
还有个简单的?,比上面的简单易懂多了
new Promise(function(resolve, reject) {
setTimeout(function(){ resolve(1); }, 1000);
})
.then(function(number) { console.log('number1', number); return number + 1; })
.then(function(number) { console.log('number2', number); return number + 1; })
.then(function(number) { console.log('number3 ',number);});
// number1 1
// number2 2
// number3 3
原博客地址! https://blog.youkuaiyun.com/ghostyusheng/article/details/84001214