普通函数改成 Promise 函数

727 阅读1分钟
将普通函数改成 Promise 函数需要进行以下步骤:

1. 创建一个 Promise 对象,该对象包含一个 executor 函数,该函数包含 resolve 和 reject 两个参数。

2. 将原来的函数体放到 executor 函数中,并将 resolve 和 reject 分别作为函数的回调函数。

3. 在函数体中,将原来的返回值改为 resolve 函数的调用,并将原来的异常处理改为 reject 函数的调用。

下面是一个将普通函数改成 Promise 函数的示例:

```javascript
function asyncFunc() {
  return new Promise((resolve, reject) => {
    // 将原来的函数体放到 executor 函数中
    // 将原来的返回值改为 resolve 函数的调用
    // 将原来的异常处理改为 reject 函数的调用
    try {
      // 原来的函数体
      // ...
      // 返回值改为 resolve 函数的调用
      resolve(result);
    } catch (error) {
      // 异常处理改为 reject 函数的调用
      reject(error);
    }
  });
}
```

使用 Promise 函数时,可以通过 then 方法指定成功回调函数和 catch 方法指定异常回调函数。例如:

```javascript
asyncFunc()
  .then(result => {
    // 成功回调函数
  })
  .catch(error => {
    // 异常回调函数
  });
```