Promise.resolve应用场景代码
时间: 2024-10-20 14:09:28 浏览: 15
`Promise.resolve` 主要应用于需要立即返回一个已解决(fulfilled)的 Promise 情况,例如简化异步操作、避免链式调用过长,或者提供默认值给依赖于异步操作的函数。下面是一些实际应用的代码示例:
1. **提供默认值**:
```javascript
function getUserData(userId) {
return Promise.resolve({
userId,
name: userId === 'admin' ? 'Admin User' : 'Regular User',
});
}
getUserData('guest') // 直接返回已解析的用户数据
.then((userData) => console.log(userData)); // 输出:{ userId: 'guest', name: 'Regular User' }
```
2. **简化异步流程控制**:
```javascript
async function doSomethingAsync(initialData) {
const enhancedData = await Promise.resolve(
fetchAdditionalData(initialData)
);
// 这里fetchAdditionalData可能是个异步操作
return enhancedData;
}
doSomethingAsync({ key: 'initial' })
.then((data) => console.log(data));
```
3. **避免回调地狱** (当需要合并多个简单操作):
```javascript
function combineOperations(a, b) {
return Promise.resolve([a, b]).then(([op1Result, op2Result]) => {
return op1Result + op2Result;
});
}
combineOperations(10, 5)
.then((result) => console.log(result)); // 输出:15
```
阅读全文