【问题标题】:fromPromise cause "pipe is not a function" Redux-observablefromPromise 导致“管道不是函数” Redux-observable
【发布时间】:2018-03-05 06:25:11
【问题描述】:

我是 rxjs 和 redux observable 的新手。

fromPromise 导致错误。

FCM.getFCMToken() 是类似于 fetch 的 API。 它返回一个字符串。

我的代码如下。

import { fromPromise } from 'rxjs/observable/fromPromise';

const successLoginWithSessionTokenEpic = (action$: Observable<Action>, store: any) => action$.pipe(
  ofType(actions.SUCCESS_LOGIN_WITH_SESSION_TOKEN),
  fromPromise(FCM.getFCMToken().pipe(
    map((deviceToken: string) => actoins.updateDeviceToken(deviceToken)),
  )),
);

fromPromise 的使用方法正确吗?

【问题讨论】:

  • 不,这不是fromPromise 的用法。 fromPromise 接受 Promise 并返回 Observable。你似乎在用它做一些……不同的事情。
  • 是异步/等待问题吗?是 fromPromise(somePomise).pipe( ... 没问题吗?
  • 您应该检查您的 sn-p 中的括号。事实上,代码没有什么意义。 FCM.getFCMToken().pipe(...) 不会评估为承诺。

标签: rxjs redux-observable


【解决方案1】:

我认为你关闭一个父进程有点晚了,你想要做的是按这个顺序执行函数:

fromPromise() => obserbable => .pipe()

你需要的是这样的东西

import { fromPromise } from 'rxjs/observable/fromPromise';

const successLoginWithSessionTokenEpic = (action$: Observable<Action>, store: any) => action$.pipe(
  ofType(actions.SUCCESS_LOGIN_WITH_SESSION_TOKEN),
  fromPromise(FCM.getFCMToken()).pipe(
    map((deviceToken: string) => actions.updateDeviceToken(deviceToken))
  ).subscribe(() => {});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2022-01-20
    相关资源
    最近更新 更多