SAP Spartacus读取User Address的action是如何被Effect接收的

入口是shipping-address.component.ts的ngOnInit hook:

SAP Spartacus读取User Address的action是如何被Effect接收的

读取当前user ID后,将id传入回调函数,在回调函数里dispatch一个UserActions.LoadUserAddresses:

SAP Spartacus读取User Address的action是如何被Effect接收的
SAP Spartacus读取User Address的action是如何被Effect接收的

userID成功取回来之后,调用take(1).subscribe,将userID作为参数传入回调函数。在回调函数里发UserActions.LoadUserAddresses这个User action:

SAP Spartacus读取User Address的action是如何被Effect接收的

被ngrx-store-devtools.js接收:

SAP Spartacus读取User Address的action是如何被Effect接收的

经过filter.js(ofType的实现),map和mergeMap,最后被应用程序编写的effect类接收:

SAP Spartacus读取User Address的action是如何被Effect接收的

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
SAP Spartacus读取User Address的action是如何被Effect接收的