then方法在JS中的代码实例
时间: 2024-04-29 08:23:46 浏览: 10
以下是一个简单的使用then方法的JS代码示例:
```javascript
function fetchData(url) {
return fetch(url)
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error('Error:', error);
});
}
fetchData('https://jsonplaceholder.typicode.com/todos/1');
```
上述代码使用fetch方法获取一个JSON数据,并在获取成功后使用then方法解析JSON数据并将其打印到控制台上。如果获取过程中出现错误,则通过catch方法捕获错误并将其打印到控制台上。
相关问题
JS异步编程中then方法的实例代码
以下是一个简单的使用then方法的异步编程示例:
```
function getData() {
return new Promise(function(resolve, reject) {
// 模拟异步请求数据
setTimeout(function() {
var data = {name: 'John', age: 30};
// 如果请求成功,则调用resolve方法
resolve(data);
// 如果请求失败,则调用reject方法
// reject('请求失败');
}, 2000);
});
}
// 调用getData方法并处理返回的数据
getData().then(function(data) {
console.log('请求成功');
console.log(data);
}).catch(function(error) {
console.log('请求失败');
console.log(error);
});
```
在上面的代码中,我们首先定义了一个名为`getData`的函数,它返回一个Promise对象。在这个函数中,我们模拟了一个异步请求数据的过程,使用`setTimeout`方法模拟了一个2秒钟后返回数据的情况。在这个Promise对象中,我们使用了`resolve`方法将请求成功的数据返回,如果请求失败,则可以使用`reject`方法返回错误信息。
接着,在调用`getData`方法后,我们使用了`then`方法来处理返回的数据。如果请求成功,`then`方法中的回调函数将被调用,并且传递请求成功的数据作为参数。如果请求失败,则可以使用`catch`方法来处理错误信息。
需要注意的是,`then`和`catch`方法都返回一个新的Promise对象,因此可以在它们之后继续链式调用其他的Promise方法。
promise 所有方法和实例的代码
以下是 Promise 的所有方法和一个实例的代码示例:
1. Promise 构造函数:
```javascript
const myPromise = new Promise((resolve, reject) => {
// 异步操作
});
```
2. Promise.prototype.then():
```javascript
myPromise.then((result) => {
// 异步操作成功的处理逻辑
}).catch((error) => {
// 异步操作失败的处理逻辑
});
```
3. Promise.prototype.catch():
```javascript
myPromise.catch((error) => {
// 异步操作失败的处理逻辑
});
```
4. Promise.all():
```javascript
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('操作1成功');
}, 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('操作2成功');
}, 2000);
});
Promise.all([promise1, promise2])
.then((results) => {
console.log('所有操作成功:', results);
})
.catch((error) => {
console.log('操作失败:', error);
});
```
5. Promise.race():
```javascript
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('操作1成功');
}, 1000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('操作2成功');
}, 2000);
});
Promise.race([promise1, promise2])
.then((result) => {
console.log('最先完成的操作成功:', result);
})
.catch((error) => {
console.log('操作失败:', error);
});
```
6. Promise.resolve():
```javascript
const value = '操作成功';
Promise.resolve(value)
.then((result) => {
console.log('操作成功:', result);
})
.catch((error) => {
console.log('操作失败:', error);
});
```
7. Promise.reject():
```javascript
const error = '操作失败';
Promise.reject(error)
.then((result) => {
console.log('操作成功:', result);
})
.catch((error) => {
console.log('操作失败:', error);
});
```
这些是 Promise 的常用方法和一个简单的实例代码。根据具体需求,可以灵活运用这些方法进行异步操作的处理。
如果您有更多问题,请随时追问!