一.实现思路 根据Promise.race的特性,我们在Promise.race里面添加两个任务,一个是正常的网络请求任务A,另外一个便是网络延时任务B,网络延时可以利用setTimeout方法实现. 这个时候会有三种情况出现: 1.A任务在8秒内完成(假定8秒超时),Promise.race任务正常结束. 2.超过8秒A任务仍然未完成,由B任务计时结束自动中断Promise.race. 3.发生异常,Promise.race自动结束. 针对以上三种情况来设计网络超时方案. 二.代码 HttpU…