promise入门案例
时间: 2023-04-09 14:04:42 浏览: 64
好的,以下是一个简单的 Promise 入门案例:
```javascript
function asyncFunction() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('Async Function Completed');
}, 2000);
});
}
asyncFunction().then(function(result) {
console.log(result);
}).catch(function(error) {
console.log(error);
});
```
这个案例中,我们定义了一个异步函数 `asyncFunction()`,它返回一个 Promise 对象。在 Promise 的构造函数中,我们使用 `setTimeout()` 模拟了一个异步操作,并在操作完成后调用 `resolve()` 方法,将异步操作的结果传递给 Promise。在调用 `asyncFunction()` 后,我们使用 `then()` 方法来处理 Promise 的成功状态,并在控制台输出异步操作的结果。如果 Promise 处于失败状态,我们使用 `catch()` 方法来处理错误。
相关问题
Promise 的实际案例
Promise 的实际案例有很多,以下是其中几个常见的示例:
1. 异步请求:当我们需要从服务器获取数据时,可以使用 Promise 来处理异步请求。例如,在前端开发中,可以使用 fetch API 发起网络请求,fetch 方法返回的是一个 Promise 对象。我们可以使用 Promise 的 then 方法来处理服务器返回的数据或者 catch 方法来处理请求失败的情况。
2. 定时任务:在 JavaScript 中,我们可以使用 setTimeout 或 setInterval 来执行定时任务。这些方法返回的是一个定时器对象,我们可以通过 Promise 来封装定时器逻辑。例如,可以创建一个基于 Promise 的函数,通过 setTimeout 来实现延迟执行某个操作,并在操作完成后将 Promise resolve。
3. 文件上传:当用户上传文件时,我们可以使用 Promise 来处理文件上传的异步操作。例如,在 Node.js 后端开发中,可以使用 fs 模块的 writeFile 方法来将文件保存到服务器上。writeFile 方法返回一个 Promise 对象,我们可以通过 then 方法来处理写入成功的情况,或者通过 catch 方法来处理写入失败的情况。
这些是 Promise 的一些常见应用场景,它们都能帮助我们更好地处理异步操作并管理代码的流程。
js关于 Promise 案例
以下是一个Promise的案例,包括使用Promise封装一个异步函数,并在其中添加resolve和reject的处理流程,最后调用该函数并处理其返回结果:
```
function fetchData(url) {
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.onload = function() {
if (xhr.status === 200) {
resolve(xhr.response);
} else {
reject(new Error(`Request failed. Status code: ${xhr.status}`));
}
};
xhr.onerror = function() {
reject(new Error('Request failed. Network Error.'));
};
xhr.open('GET', url, true);
xhr.send();
});
}
fetchData('https://jsonplaceholder.typicode.com/todos/1')
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
```
这个案例的作用是从一个URL中获取数据,如果成功则resolve返回数据,如果失败则reject返回错误信息。在调用fetchData函数时,我们通过then方法对Promise进行处理,如果成功则将返回的数据打印到控制台,如果失败则将错误信息打印到控制台。