当Promise.then或Promise.catch触发时,它们会在异步上下文中执行。这意味着当您试图更改'类”数组结构时,可能会遇到一些问题,例如使用push()函数将元素添加到数组中。
一个解决方法是将类数组转换为真正的数组,然后再执行操作。可以通过以下方式实现:
Promise.resolve() .then(() => { // 将类数组转换为真正的数组 const arr = Array.from(arguments); // 对数组执行push操作 arr.push('new element'); return arr; }) .catch(error => { console.error(error); });