铁锤学前端 2024-07-12 17:13 采纳率: 0%
浏览 22

如何用promise改写该函数

function getData(param, callback) {
setTimeout(() => {
callback();
}, 2000)
}

用promise改写该函数为getData(param).then(callback)格式

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2024-07-12 17:13
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    在 JavaScript 中,Promise 是一种用于异步编程的对象,它代表了异步操作的最终完成或失败。要将你提供的回调函数 getData 改写为使用 Promise 的格式,你可以这样实现:

    function getData(param) {
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          // 假设callback()应该返回一些数据,这里我们使用resolve来传递数据
          // 如果有错误发生,可以使用reject来传递错误信息
          resolve();
        }, 2000);
      });
    }
    

    使用这个新的 getData 函数,你可以这样调用它并使用 .then() 方法来处理结果:

    getData(someParam).then(() => {
      console.log('数据获取完成');
      // 在这里添加你的回调逻辑
    });
    

    请注意,上面的代码示例中,resolve() 函数被调用来表示异步操作成功完成,但实际上你可能需要传递一些数据给 resolve()。例如,如果你的原始 callback 函数返回了某些数据,你应该在 resolve 中传递这些数据。

    这里没有特定的参考链接,因为 Promise 是 JavaScript 的基本特性,并且这种模式在 ES6 及以后的版本中非常常见。如果你需要更多关于 Promise 的信息,你可以查看 MDN Web Docs 或其他在线资源。

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 7月12日
  • 创建了问题 7月12日