Promise一个接一个
时间: 2024-03-07 10:28:46 浏览: 18
引用中提到了Promise链的概念,即在异步任务中,可以使用多个.then方法依次执行。每一个.then方法都会返回一个新的Promise对象,使得可以在上一个Promise对象完成后继续执行下一个Promise对象。这种方式可以保证异步任务的顺序执行。例如:
```javascript
new Promise(function(resolve, reject) {
setTimeout(() => resolve(1), 1000);
})
.then(function(result) {
alert(result); // 1
return result * 2;
})
.then(function(result) {
alert(result); // 2
return result * 2;
})
.then(function(result) {
alert(result); // 4
return result * 2;
});
```
在上面的例子中,通过使用.then方法,每个.then方法返回的新的Promise对象都会等待上一个Promise对象完成后执行。这样就能够保证异步任务按顺序执行。注意,这里的链式调用并不是将多个.then方法添加到一个Promise对象上,而是每个.then方法返回一个新的Promise对象。所以每个.then方法都是独立的,相互之间没有依赖关系。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [小程序接口的promise化的实现方法](https://download.csdn.net/download/weixin_38526914/13674919)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Promise链](https://blog.csdn.net/AnitaSun/article/details/110945382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]