小编iCV*_*iCV的帖子

RXJS:将来自 foreach 的多个调用组合成单个可观察值

我已经尝试组合多个异步调用有一段时间了,每次接近时,我都会陷入我试图解决的 foreach 循环。

目前,我将一个类别数组传递给一个函数,该函数将返回一个包含所有问题(所有类别组合)的数组的可观察值。
我在想

  getQuestions(categories: Category[]): Observable<Question[]> {
    let q: Question[];
    categories.forEach(c => {
      this.cs
        .getQuestionsCategory(c.id)
        .pipe(map(questions => q.push(...questions)));
         //return q somehow?
    });
  }

Run Code Online (Sandbox Code Playgroud)

然后我就可以像这样使用它:

   let result: Result;
    let res: [Category[], Account, Answer[]];

    return this.getResultByRouteParamId(route).pipe(
      tap(resu => (result = resu)),
      switchMap((result: Result) =>
        this.forkJoinQuizCategoriesAccountAnswers(result)
      ),
      tap(results => (res = results)),
      switchMap(x => this.getQuestions(res[0])),
      map(questions => {
        // Create objects of questions, answers and category and add them to a QuestionAnswer object
        // Return new UserResult containing the user and …
Run Code Online (Sandbox Code Playgroud)

foreach loops observable rxjs angular

8
推荐指数
1
解决办法
3159
查看次数

Angular 6:如果布尔值为 true,则附加类

我正在尝试实现一个投票系统,其中活跃投票的背景为蓝色。为此,我使用 2 个布尔值来跟踪分数和所选选项。我尝试使用 NgClass,但我似乎无法弄清楚它在我的情况下是如何工作的,因为我会在现有的 2 个类中添加一个额外的类。

CSS

 .voting{
    cursor: pointer; 
    display: inline;
  }
  .activeVote{
    background: #2980b9;
  }
Run Code Online (Sandbox Code Playgroud)

超文本标记语言

投票类和 noSelect 应始终处于活动状态,但单击increaseUpvote() 应将 activeVote 类添加到该类,因为 upvoted 布尔值将为 true。同样的事情也应该发生在否决选项上。

 <p style="font-size: 28px;">{{post.upvotes}}
          <mat-icon class="voting noSelect" (click)="increaseUpvote()">arrow_upward
          </mat-icon>
          <mat-icon class="voting noSelect" (click)="increaseDownvote()">
            arrow_downward
          </mat-icon>
        </p>
Run Code Online (Sandbox Code Playgroud)

打字稿

  public upvoted: boolean = false;
  public downvoted: boolean = false;

  increaseUpvote(): void {
    if (this.downvoted) {
      this.post.upvote();
      this.downvoted = false;
    }
    if (!this.upvoted) {
      this.post.upvote();
      this.upvoted = true;
    } else if (this.upvoted) {
      this.post.removeUpvote();
      this.upvoted = false; …
Run Code Online (Sandbox Code Playgroud)

css ng-class angular6

5
推荐指数
1
解决办法
5127
查看次数

JPA:错误:尝试为 &lt;MyClass&gt; 类型重新创建文件

每次运行我的代码时,都会出现以下错误:

 java.lang.RuntimeException: javax.annotation.processing.FilerException: Attempt to recreate a file for type domein.ClubLes_
    [javac]     at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:407)
    [javac]     at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:964)
    [javac]     at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:881)
    [javac]     at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2100(JavacProcessingEnvironment.java:110)
    [javac]     at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1202)
    [javac]     at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1311)
    [javac]     at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1250)
    [javac]     at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:928)
    [javac]     at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:306)
    [javac]     at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:165)
    [javac]     at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
    [javac]     at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
    [javac] Caused by: javax.annotation.processing.FilerException: Attempt to recreate a file for type domein.ClubLes_
    [javac]     at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.checkNameAndExistence(JavacFiler.java:727)
    [javac]     at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceOrClassFile(JavacFiler.java:489)
    [javac]     at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceFile(JavacFiler.java:426)
    [javac]     at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.generateCanonicalModelClass(CanonicalModelProcessor.java:98)
    [javac]     at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.generateCanonicalModelClasses(CanonicalModelProcessor.java:226)
    [javac]     at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:403)
    [javac]     ... 11 …
Run Code Online (Sandbox Code Playgroud)

java jpa compiler-errors

5
推荐指数
2
解决办法
7409
查看次数

标签 统计

angular ×1

angular6 ×1

compiler-errors ×1

css ×1

foreach ×1

java ×1

jpa ×1

loops ×1

ng-class ×1

observable ×1

rxjs ×1