js fetch 和 promise 的链式调用的问题

fetch 获取数据,需要先访问服务器成功,在拿到数据,所以需要两个promise,一个联系服务器是否成功,一个获取数据是否成功.
上面的例子中,如果联系服务器失败,之后还是会输出获取数据成功,但是成功的数据是undefined,
原因是:
        promise 链式调用时,前一个promise如果返回非promise类型数据,后一个promise则会走成功的回调         也就是说.前一个promise返回非promise类型的值时,后一个promise 的状态是成功的,并且参数是undefined
解决办法是,联系服务器失败后,返回一个初始化状态的promise,如图

 也可以不在每个then中都写一个失败的处理函数,可以用catch 统一处理所有错误,如图

也可以写的更加简单

如果需要捕捉出错异常,则需

 参考 : 尚硅谷React技术全家桶全套完整版(零基础入门到精通/男神天禹老师亲授)_哔哩哔哩_bilibili

js fetch 和 promise 的链式调用的问题最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/19911.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>