Promise.then
时间: 2023-08-15 07:13:10 浏览: 52
Promise.then是JavaScript中用于处理Promise对象的方法之一。它用于指定当Promise对象状态变为已完成时应该执行的回调函数。回调函数会接收到Promise对象传递的解决值作为参数。
例如,假设你有一个返回Promise对象的函数,你可以使用Promise.then来处理该Promise对象的解决值。下面是一个简单的示例:
```javascript
// 创建一个返回Promise对象的函数
function fetchData() {
return new Promise((resolve, reject) => {
// 模拟异步操作
setTimeout(() => {
const data = '这是从远程服务器获取到的数据';
resolve(data); // 将数据作为解决值传递给回调函数
}, 2000);
});
}
// 使用Promise.then处理解决值
fetchData().then((data) => {
console.log(data); // 输出:这是从远程服务器获取到的数据
});
```
在上面的示例中,fetchData函数返回一个Promise对象,我们可以使用Promise.then方法来在Promise对象解决时执行回调函数,并将解决值作为参数进行处理。
相关问题
promise.then
`promise.then()` 是 Promise 对象的方法之一,用于在 Promise 对象成功执行后(即状态变为 resolved)执行回调函数,并返回一个新的 Promise 对象,该对象会包含回调函数的返回值。
该方法接收两个参数,第一个参数是成功回调函数,第二个参数是失败回调函数。成功回调函数接收一个参数,即 Promise 对象成功执行的结果;失败回调函数接收一个参数,即 Promise 对象失败的原因。
示例代码:
```javascript
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('success');
}, 1000);
});
promise.then((result) => {
console.log(result); // 'success'
}).catch((error) => {
console.error(error);
});
```
在上述代码中,`promise.then()` 方法会等待 Promise 对象成功执行后执行回调函数,输出结果为 `'success'`。如果 Promise 对象执行失败,则会执行失败回调函数,输出失败原因。
promise.then里报错
如果在`promise.then`中出现错误,则会向下传递到`promise.catch`中。例如:
```javascript
promise.then(function(result) {
// 此处可能会出现错误
}).catch(function(error) {
console.error('出现错误:', error);
});
```
如果您想在`promise.then`中处理错误,可以使用`try-catch`块来包含可能出现错误的代码块。例如:
```javascript
promise.then(function(result) {
try {
// 此处可能会出现错误
} catch(error) {
console.error('出现错误:', error);
}
});
```
请注意,`promise.then`和`promise.catch`返回的是新的`Promise`对象。因此,如果在`promise.then`中出现错误,它不会影响原始`Promise`对象的状态。