我有一个传奇人物,可以初始化分析提供程序,而该提供程序完全位于redux上下文之外。但是,Redux会定期将更新的身份验证令牌推送到该分析提供商。
(是的,我知道分析代码可能应该存在于传奇流中,但是请相信我,我认为它已经存在,并且现在无法进行重构)
function* setupAnalyticsProvider(response: any): any {
// get some global session data
setupAnalytics(data)
}
export function* refreshTokenIfNecessary() {
// syncs new JWT token with redux state
updateAnaltyicsProviderWithNewToke(token)
}
问题是我希望分析代码定期请求刷新令牌。为此,我想传递一个回调,该回调使Analytics代码可以调度一个操作来触发refreshTokenIfNesscary()传奇。
function* setupAnalyticsProvider(response: any): any {
// get some global session data
setupAnalytics(data)
setAnaltyicsRefreshCallback(() => {
// Dispatch action
})
}
无论如何,我们是否有兴趣使用商店分配方法,或者使用Saga-Channels实现此目的?
答案 0 :(得分:0)
对于解析代码的任何定期执行,您都必须为其创建一个回调以使其流动,如果重构存在问题,请使用Event通道套接字发出,打开并产生回调。