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

上一篇下一篇

猜你喜欢

热点阅读