![](/img/trans.png)
[英]How can I chain RxJS observable in a redux-observable epic?
[英]How can I use “const” in epic? Redux-observable ES6 arrow function
我是新來的反應者,可以觀察到它。
我的問題是如何在史詩中定義變量?
有人告訴我使用const {user} = store.getState()。currentUser.user,但沒有成功。
()=> request()是類似fetch的API。
之前
const updateDeviceTokenEpic = (action$: Observable<Action>, store: any) => action$.pipe(
ofType(actions.UPDATE_DEVICE_TOKEN),
exhaustMap(() => request({
url: `users/${store.getState().currentUser.user.id}`,
method: 'put',
data: {
device_token: `${store.getState().currentUser.user.deviceToken}`,
},
})),
ignoreElements(),
);
后
const updateDeviceTokenEpic = (action$: Observable<Action>, store: any) =>
action$.pipe(
ofType(actions.UPDATE_DEVICE_TOKEN),
exhaustMap(() => request(
const { user } = store.getState().currentUSer.user;
{
url: user.id,
method: 'put',
data: {
device_token: user.deviceToken,
},
})),
ignoreElements(),
);
怎么了? 有js忍者嗎?
嘗試這個:
const updateDeviceTokenEpic = (action$: Observable<Action>, store: any) =>
const { id } = store.getState().currentUSer.user;
action$.pipe(
ofType(actions.UPDATE_DEVICE_TOKEN),
exhaustMap(() => request(
{
url: `users/${id}`,
method: 'put',
data: {
device_token: user.deviceToken,
},
})),
ignoreElements(),
);
刪除用戶周圍的括號,您將在使用Destructuring分配並且不知道其工作原理並將其添加到函數主體中時將起作用。
const updateDeviceTokenEpic = (action$: Observable<Action>, store:any) =>
{
const user = store.getState().currentUSer.user;
return action$.pipe(
ofType(actions.UPDATE_DEVICE_TOKEN),
exhaustMap(() => request({
url: `users/${user.id}`,
method: 'put',
data: {
device_token: user.deviceToken,
},
})),
ignoreElements(),
);
}
如果在Arrow函數中沒有括號,則只能編寫一個代碼語句,這也是默認的返回值。 如果要編寫多個語句,請使用大括號並顯式返回一個值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.