Promise 是一个对象,用于传递异步操作的消息。它拥有三种状态:penging(初始状态,等待任务完成或被拒绝),fulfilled(任务成功完成的状态),rejected(任务完成失败的状态)。Promise 特点包括:对象状态不受外界影响,一旦状态改变,将永久改变,无法逆转。但缺点是无法取消 Promise,一旦创建就会立即执行,无法中途取消。如果不设置回调函数,Promise 内部抛出的错误不会反映到外部。Promise 提供了 all、race、reject、resolve 等方法。链式调用将前一个 then 的返回值作为下一次成功的回调函数参数。all 方法可以接收多个 Promise,所有 Promise 完成后以数组形式返回结果,若有一个失败则整体失败;race 方法则会比较多个 Promise 的执行速度,最先完成的 Promise 将触发对应的回调函数。例如,使用 Promise.all 和 Promise.race 来实现字符串倒叙。首先创建两个 Promise 实例,分别处理两个字符串倒序。利用 Promise.all 和 Promise.race 方法分别处理这两个 Promise 实例,通过回调函数记录结果。此外,Promise.resolve 方法返回成功态的 Promise 实例,而 Promise.reject 方法返回失败态的 Promise 实例。这些基本用法为处理异步操作提供了便利。总之,Promise 的基本用法涵盖了异步操作的状态管理、错误处理以及多种方法的使用,简化了异步编程的复杂度,提高代码可读性和可维护性。