为什么我们必须在 react-native 中的 promise 链的末尾调用 .done() ?
Why do we have to call `.done()` at the end of a promise chain in react-native?
在 react-native tutorial 中说:
Note that we call done() at the end of the promise chain - always make
sure to call done() or any errors thrown will get swallowed.
fetchData: function() {
fetch(REQUEST_URL)
.then((response) => response.json())
.then((responseData) => {
this.setState({
movies: responseData.movies,
});
})
.done();
},
这个空的 .done()
到底是做什么的?
我需要说明的内容:
- 承诺中遇到的异常(在执行
then()
回调期间)存储为 Error
对象,并且 不会抛出 。
这种机制意味着您可以推迟操作,而不会有内部异常随机将您搞砸的风险。
done()
在没有参数的情况下调用 promise 会查看 promise 以查看是否存在任何存储的异常,并抛出它们。
这意味着您可以在承诺处理结束时处理承诺处理期间的异常。
在 react-native tutorial 中说:
Note that we call done() at the end of the promise chain - always make sure to call done() or any errors thrown will get swallowed.
fetchData: function() {
fetch(REQUEST_URL)
.then((response) => response.json())
.then((responseData) => {
this.setState({
movies: responseData.movies,
});
})
.done();
},
这个空的 .done()
到底是做什么的?
我需要说明的内容:
- 承诺中遇到的异常(在执行
then()
回调期间)存储为Error
对象,并且 不会抛出 。
这种机制意味着您可以推迟操作,而不会有内部异常随机将您搞砸的风险。
done()
在没有参数的情况下调用 promise 会查看 promise 以查看是否存在任何存储的异常,并抛出它们。
这意味着您可以在承诺处理结束时处理承诺处理期间的异常。