我经常发现自己使用以下代码:
var base64String: String = ""
do {
let fileData = try NSData(contentsOfFile: fileLocation, options: NSData.ReadingOptions.mappedIfSafe)
base64String = fileData.base64EncodedString(options: [])
}
catch {
print(error)
}
正如您所看到的,我需要将用户字符串存储为组件中的成员,以便将其与我的有效负载一起发送。
我宁愿使用用户字符串作为observable并使用异步管道。
在调度操作时如何更改我的代码以利用用户的observable而不将其存储在成员变量中?
答案 0 :(得分:2)
您可以使用ngrx效果并使用当前用户增强LOGOUT命令。
@Effect() logoutEffect$ = this.actions$
.ofType(LOGOUT)
.withLatestFrom(this.store$)
.map(([action: Action, storeState: AppState]) => {
return storeState.getUser;
})
.map(payload => ({type: 'LOGOUT_USER', payload}))