等待承诺Angular 2

时间:2017-08-09 13:29:28

标签: angular typescript promise angular-promise

首先,我想解释一下,我已经阅读了很多答案,而且我理解阻止线程等待响应是错误的。但我有一个问题不是那么容易解决。

我有一个高级项目,我在getAuthenticationKey():string的会话服务上有一个函数我已经从代码的不同部分(调用休息函数等)中使用了很多函数,并且我制作了它是一个普通的函数,因为我认为这个值会存在与否。

现在我们进行了一些更改,getAuthenticationKey必须调用休息函数来刷新密钥(如果有必要)。

所以问题是我明白最好的方法就是做出承诺并重构整个项目,但这在几小时内太贵了,因为我必须为这个功能和所有其他功能做出承诺这取决于该功能(几乎所有的应用程序),并考虑到刷新是一个快速的操作,每天或每周调用一次,有没有办法解决这个问题而不重构所有的项目?

2 个答案:

答案 0 :(得分:0)

你可以保持你的代码不变,只需添加一个定期检查器(setInterval(...)),如有必要,它将更新authenticationKey。如果您知道密钥的生命周期,则可以使用setTimeout(...)而不是定期检查。

答案 1 :(得分:0)

我使用解析器解决了这个问题,因为我在加载页面时检查身份验证。在解析器中,我针对休息服务检查auth并将结果存储在服务中。