请给个promise编程的案例
时间: 2023-04-07 10:02:42 浏览: 71
好的,一个简单的 Promise 编程案例是实现一个异步加载图片的函数,代码如下:
```javascript
function loadImage(url) {
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = () => {
resolve(img);
};
img.onerror = () => {
reject(new Error(`Failed to load image from ${url}`));
};
img.src = url;
});
}
// 使用示例
loadImage('https://example.com/image.jpg')
.then(img => {
console.log('Image loaded:', img);
})
.catch(error => {
console.error('Failed to load image:', error);
});
```
这个函数接受一个图片 URL,返回一个 Promise 对象。当图片加载成功时,Promise 对象会被 resolve,并传递加载好的图片对象;当图片加载失败时,Promise 对象会被 reject,并传递一个错误对象。我们可以使用 then 方法来处理成功的情况,使用 catch 方法来处理失败的情况。
相关问题
一个简单的 Promise all方法的 编程案例
好的,这是一个简单的 Promise.all 方法的编程案例:
```
const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = new Promise((resolve, reject) => {
setTimeout(resolve, 1000, 3);
});
Promise.all([promise1, promise2, promise3]).then(values => {
console.log(values); // [1, 2, 3]
});
```
这个例子中,我们创建了三个 Promise 对象,分别返回 1、2 和 3。然后我们使用 Promise.all 方法将这三个 Promise 对象组合起来,并在所有 Promise 对象都完成后打印它们的返回值。由于第三个 Promise 对象需要等待 1 秒钟才能完成,所以最终打印的结果是 [1, 2, 3]。
promise入门案例
好的,以下是一个简单的 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()` 方法来处理错误。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)