React Native中涉及延时的代码的两种不同实现

Two Different Implementations of Code Involving Time Delay in React Native

我有一个关于 React Native 应用程序中两种不同代码实现的快速问题。我想知道一个是否以及为什么被认为比另一个更好以及为什么。

#1 在 componentDidMount() 中使用标准 setTimeout,如下所示:

componentDidMount() {
  setTimeout(() => {
    this.setState({ editable: true });
  }, 2000);
}

第二个也涉及等待,但看起来像这样:

const wait = (timeout) => {
  return new Promise(resolve => setTimeout(resolve, timeout));
}

componentDidMount() {
  wait(2000).then(() => {
    this.setState({ editable: true });
  });
}

第二个实现是否做了第一个没有做的事情?一个比另一个更健壮?

考虑你的第一个问题

第二个实现是否做了第一个没有做的事情?

除了承诺速度更快,两者完全相同。

一个比另一个更健壮吗?

第二个在许多框架和库中更为常见,因为它提供了一种更好的链接方式,并且可以很好地 catch 出错

了解更多信息

例如 在 react-testing-library 中有 waitForElementToBeRemoved