axios 是一个由尤雨溪大佬推荐的 HTTP 请求库。它支持用统一的接口同时在 Node.js 和浏览器中发送请求。目前 github 上有 38K 的赞了。
以前从来没思考过他的内部实现。从我这个 API Caller 的视角来看:哦,推荐?好吧那就用吧!然而,在这个库里面还是藏着许多不一样的小秘密的。所以是时候探索一下它为什么能得到尤大的推荐了。
做个博客也是不断踩坑啊…从技术选型到部署,很多都是我从没接触过的东西。所以打算专门写一篇博文来说说做这个博客的时候的一些思考、遇到的坑和解决方案。
其实希望每个做 Web 开发的同学都能有自己的一个从零写起的博客(虽然我这个是以别人写好的为基础的🙄 ),在这个博客上用上各种各样的实验性技术,不断折腾更新!毕竟只有自己的博客才是真的想怎么搞就可以怎么搞的地方。
所有代码和文章都在 github 上,欢迎 dalao 们 star 😏
https://github.com/hjkcai/blog
对话框是用户交互中很重要的一个部分,但是实现一个对话框对于前端开发人员来说却是一件不容易的事情。特别是在逻辑复杂的时候(例如一次要连续显示多组对话框),这时候就会有很多的“开关变量”和事件监听器,逻辑十分跳跃。
自从 ECMAScript 8 开始引入了基于 Promise 的 async 函数。利用它我们可以写出与同步代码几乎相同的异步代码。而实际上,“用户交互”也是一个异步的过程。我们可以把事件监听器看作是一个回调函数,而事件的发生就代表着回调函数被调用。
基于以上的思想,我编写了 vue-modal-dialogs 这个库来解决这个问题。