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
我有一个关于 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