gpt4 book ai didi

angular - 在 ngrx 效果中将 Promise 转换为 Observable

转载 作者:行者123 更新时间:2023-12-05 00:59:47 25 4
gpt4 key购买 nike

我正在使用提供 promise 的第三方库,但我需要将其包装到 ngrx 效果中的 Observable 中。这个想法是在应用程序成功初始化时调度新 Action 。但我需要在 promise 解决后发送数据。

classOne.promise().then(result =>
nested.OnemorePromise(result).then(result2 =>
//(result2) dispatch new action here (result2)
)
);

我创造了这样的东西:

@Effect()
initializeValue$: Observable<Action> = this.actions$.pipe(
ofAction(AppInitializeAction),
map(action => {
classOne.promise().then(result =>
nested.OnemorePromise(result).then(result2 =>
this.store.dispatch(new Action(result2))
// ideally just - return new Action(result2)
)
);
})
它给了我错误-效果是调度错误的 Action 。

更新:

 @Effect()
initializeValue$: Observable<Action> = this.actions$.pipe(
ofAction(AppInitializeAction),
map(action => {
return from(classOne.promise()).map(result => {
console.log(result)
})
})
);

map 不是函数。

最佳答案

您可以在 Rxjs >= 6 中使用 from:

import { from } from 'rxjs';

map(action => {
from(classOne.promise()).map(result ...

fromPromise in Rxjs <= 5:

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

map(action => {
fromPromise(classOne.promise()).map(result ...

关于angular - 在 ngrx 效果中将 Promise 转换为 Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52503389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com