Skip to content

[toc]

1. 讲promise的原型链上的所有方法

then()

catch()

finally()

resolve()

reject()

all()

  • Promise 构造函数的静态方法,用于将多个 Promise 实例包装成一个新的 Promise
  • 只有当所有 Promise 都成功时,新的 Promise 才会成功。
javascript
Promise.all(iterable);

allSettled()

race()

  • Promise 构造函数的静态方法,用于将多个 Promise 实例包装成一个新的 Promise
  • 只有当第一个 Promise 完成时,新的 Promise 才会完成。
javascript
Promise.race(iterable);

any()

2. useEffect和uselayoutEffect的区别

useLayoutEffect和useEffect的区别

差异

  • useEffect 是异步执行的,而useLayoutEffect是同步执行的。
  • useEffect 的执行时机是浏览器完成渲染之后,而 useLayoutEffect 的执行时机是浏览器把内容真正渲染到界面之前,和 componentDidMount 等价。

性能影响

  • useEffect:由于它在浏览器的绘制和重排之后执行,因此不会阻塞浏览器的渲染,对性能的影响较小。
  • useLayoutEffect:由于它在浏览器的绘制和重排之前同步执行,因此会阻塞浏览器的渲染,对性能的影响较大。如果滥用 useLayoutEffect,可能会导致性能问题,如卡顿或延迟。