最近在开始写自己的框架,目前对网络层的HTTP请求进行了async/await封装,有点C#的味道。
使用例子:

这只是开始。。。
![]()
没明白啥意思
异步库,百度
有没有一种可能,我是说可能,fetch API 本来就支持 Promise await 呢
个人不太喜欢第三方库。
写自己的框架,目的就是自己能够完全掌控。
除非是某些需求必须用到第三方库实现,否则为啥不自己写自己的呢。
参考可用,但不喜欢直接拿来用
为啥不自己写游戏引擎呢?
那你去写好了。有问题指教,埋汰就算了。
异常情况没reject,不合格
哦,原来你是全resolve了,虽然也行,不过这样设计不够好
Http类只是对XMLHttpRequest使用的一个封装。只要负责 [发送/接收/异常] 的反馈resolve出去,谁请求谁处理不好么。不必要在Http中处理过多没必要的,这样更加可控,底层也更加纯粹。
你可用理解为,发送,收到啥就是啥,直接抛出去,谁使用了我,你自己处理,我不管。
用reject和你这个设计不冲突,纯粹reject可以try/catch
我看你提及了C#,外部try/catch的设计更接近C#
本身XMLHttpRequest就是异步,try/catch可不放在外面。 只要处理好接收到的数据解析部分就好。
我虽然提到C# 但是语言本身就不同,我只是说有那么种味道而已,设计肯定要根据语言本身去编写的。不可能完全相同的。
这里用async/await封装 就是想利有这个特性,想做到在数据上的顺序执行而已。
总之各有好坏,只要适合自己的就行,不是么。
这只是一个参考,毕竟写这个之前也是搜索了相关很多的内容,都没有自己满意的。
发这个出来是目前自己觉得整理的相对好的,看上去相对简单易懂的,如有哪里的缺陷能够指教肯定是最好的嘛!
还是顺序 写舒服

仔细看了下,感觉超时处理有可能无效。
请指出哪里无效了?
onreadystatechange应该能多次回调