Promise 源码分析
这个周编码过程中使用了NodeJs去处理图片,因为图片处理的接口全都是Promise,就导致了我的程序中充满了Promise的嵌套返回,then的结果中有返回了另一个Promise,另一个Promise中一系列中的then中有的又会返回新的Promise,这一度让我变得混乱。
理清楚后,不禁对Promise为什么能够如此神奇产生了好奇,于是去阅读了它的源码,才发现有些习以为常的功能背后的设计的奇妙。
这个周编码过程中使用了NodeJs去处理图片,因为图片处理的接口全都是Promise,就导致了我的程序中充满了Promise的嵌套返回,then的结果中有返回了另一个Promise,另一个Promise中一系列中的then中有的又会返回新的Promise,这一度让我变得混乱。
理清楚后,不禁对Promise为什么能够如此神奇产生了好奇,于是去阅读了它的源码,才发现有些习以为常的功能背后的设计的奇妙。
Azure Key Vault is a tool for securely storing and accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, or certificates. A vault is logical group of secrets.
passport-azure-ad 是我们在使用node express作为服务器,passport用于验证登陆,同时又需要去azure第三方认证登陆时需要用到的插件。
但是在使用过程中我们可能会遇到这样一种情况,就是明明我们的所有配置都已经配置好了,但是会遇到无限 回调的情况,具体表现形式就是我们利用微软账号登陆成功之后,页面会不断刷新,最终提示我们无法成功登录。
这个不断刷新的过程其实是, 首先发送一个OAuth登陆流程过程中的认证请求,认证成功之后会回调你事先配置好的redirectURL,这个url一般是我们自己服务器需要处理的请求,在这个请求中你需要用到passport的authenticate去认证是否登陆成功,如果这个认证中遇到id-token为空的情况,就会再次发起请求,一旦认证成功又会调用redirectURL。
在这个过程中,如果你确实在微软那里认证成功了,但是回调自己的服务器请求时又确实没有拿到id-token,就会出现无限回调的情况。
最近使用了一下elementUI最新版本中的无限加载组件,在使用过程中有的情况下可能会发生加载函数无限调用的情况,于是去研究了一下源码。