为什么我们必须在react-native的承诺链的末尾调用' .done() ' ?
Why do we have to call `.done()` at the end of a promise chain in react-native?
在react-native教程中,它说:
注意,我们在promise链的末尾调用done()——总是make一定要调用done(),否则抛出的任何错误都将被忽略。
fetchData: function() {
fetch(REQUEST_URL)
.then((response) => response.json())
.then((responseData) => {
this.setState({
movies: responseData.movies,
});
})
.done();
},
这空了什么?done()
到底做了什么?
我需要澄清的:
- 在承诺中遇到的异常(在执行
then()
回调期间)被存储为Error
对象,并且不会被抛出。
这种机制意味着你可以推迟操作,而不会有异常在随机时间把你搞砸的风险。
-
done()
在没有参数的情况下调用promise,查看promise是否存在存储异常,并抛出它们。
这意味着你可以在承诺处理过程中,在承诺处理结束时处理异常。
相关文章:
- JQuery$.ajax-done()未被调用
- 在jquery文件上传中调用默认的done函数
- 使用 jquery.when 和 done 将值从一个 ajax 调用传递到另一个
- 使用ajax调用.done发送变量
- 使用WHEN和DONE序列化ajax调用
- 在 Mocha 中,返回将被拒绝的承诺与调用 done(err) 的效果不同
- 如何防止我的 .done 处理程序被多次调用
- Deferred.pipe() 可以防止调用后续的 .done 和 .fail 吗?
- .done() 函数在抓取本地 JSON 文件时未在 AJAX 调用返回的承诺上运行
- 调用“done()”和在函数完成执行后调用“return”有什么区别
- 处理 jQuery deferred.done 被调用,即使请求被中止
- jQuery从不为ajax调用调用.done()或.always()
- $.getJSON没有't既不调用'done()'也不'失败()'
- 在解决所有承诺之前,调用$.wwhen-done
- 在$. deferred .done()中调用到soon
- 为什么我们必须在react-native的承诺链的末尾调用' .done() ' ?
- 我的done回调只被调用一次,我不知道为什么
- 执行请求数组失败,并多次调用Error: done().映射请求数组不会触发请求
- 在http数组上调用done.在Node.js中获取请求
- jquery defer在调用.done之前没有等待