Promise使用
2021-06-11 本文已影响0人
小猪x
方案1:直接返回值
let promise = new Promise(function(resolve, reject) {
setTimeout(() => resolve('abc'), 1000);
}).then(result => {
console.log('result1', result);
return result + '1';
}).then(result => {
console.log('result2', result);
return result + '2';
}).then(result => {
console.log('result3', result);
return result + '3';
});
promise.then(data => {
console.log('最终结果', data);
}).catch(e => {
});
输出结果
result1 abc
result2 abc1
result3 abc12
最终结果 abc123
方案2:返回promise作为结果
let promise = new Promise(function (resolve, reject) {
setTimeout(() => resolve('test'), 1000);
}).then(function (result) {
console.log('result1', result);
return new Promise((resolve, reject) => {
setTimeout(() => resolve(result + '1'), 1000);
});
}).then(function (result) {
console.log('result2', result);
return new Promise((resolve, reject) => {
setTimeout(() => resolve(result + '2'), 1000);
});
}).then(function (result) {
console.log('result3', result);
return new Promise((resolve, reject) => {
setTimeout(() => resolve(result + '3'), 1000);
});
});
promise.then(data => {
console.log('最终结果', data);
}).catch(e => {
});
输出结果
result1 test
result2 test1
result3 test12
最终结果 test123