首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

array [4,2,7,1]创建一个返回Promise的函数。promise将计算一个数组的和,并在3秒后打印出来

可以使用以下代码创建一个返回Promise的函数,该函数将计算给定数组的和,并在3秒后打印出来:

代码语言:txt
复制
function calculateSum(array) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      if (Array.isArray(array)) {
        const sum = array.reduce((acc, curr) => acc + curr, 0);
        resolve(sum);
      } else {
        reject(new Error('Invalid input. Expected an array.'));
      }
    }, 3000);
  });
}

const array = [4, 2, 7, 1];
calculateSum(array)
  .then(sum => {
    console.log('Sum:', sum);
  })
  .catch(error => {
    console.error('Error:', error.message);
  });

这段代码定义了一个名为calculateSum的函数,它接受一个数组作为参数,并返回一个Promise对象。在Promise的执行函数中,我们使用setTimeout函数模拟了一个3秒的延迟。在延迟结束后,我们首先检查输入是否为数组,然后使用reduce方法计算数组的和。如果输入无效,则会拒绝Promise并返回一个错误对象。

在主程序中,我们创建了一个名为array的数组,并将其作为参数传递给calculateSum函数。然后,我们使用.then方法来处理Promise的解决结果,打印出计算得到的和。如果Promise被拒绝,则使用.catch方法来处理错误,并打印出错误消息。

这个函数的应用场景可以是在需要异步计算数组和的情况下使用。例如,在前端开发中,当需要从后端获取一个数组并计算其总和时,可以使用这个函数来处理异步操作。在云计算领域中,这个函数可以用于处理大规模数据的计算任务,例如在分布式系统中对多个节点的计算结果进行汇总。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 2022高频前端面试题合集之JavaScript篇(中)

    valueOf()和toString()是定义在Object.prototype上的方法,也就是说,所有的对象都会继承到这两个方法。但是在Object.prototype上定义的这两个方法往往不能满足我们的需求(Object.prototype.valueOf()仅仅返回对象本身),因此js的许多内置对象都重写了这两个函数,以实现更适合自身的功能需要(比如说,String.prototype.valueOf就覆盖了在Object.prototype中定义的valueOf)。当我们自定义对象的时候,最好也重写这个方法。重写这个方法时要遵循上面所说的语义。 「js内部用于实现类型转换的4个函数」 这4个方法实际上是ECMAScript定义的4个抽象的操作,它们在js内部使用,进行类型转换。js的使用者不能直接调用这些函数。

    01
    领券