可以用Promise封装一个方法,当成功时执行我传入的成功方法,失败时执行传入的失败方法
时间: 2023-03-23 12:04:26 浏览: 54
可以用Promise封装一个方法,当成功时执行我传入的成功方法,失败时执行传入的失败方法。具体实现如下:
```javascript
function myPromise(fn) {
return new Promise((resolve, reject) => {
fn((result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
```
使用方法如下:
```javascript
function successFunc(result) {
console.log('成功:', result);
}
function errorFunc(error) {
console.log('失败:', error);
}
function myFunc() {
return myPromise((resolve, reject) => {
// 这里可以写异步代码
const isSuccess = true;
if (isSuccess) {
resolve('成功的结果');
} else {
reject('失败的原因');
}
});
}
myFunc().then(successFunc, errorFunc);
```
当 myFunc 执行成功时,会执行 successFunc 方法,并输出 '成功:成功的结果';当 myFunc 执行失败时,会执行 errorFunc 方法,并输出 '失败:失败的原因'。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)