小编Nik*_*hev的帖子

RxJS 中的throttleTime 与debounceTime 之间有什么区别以及何时选择哪个?

我正在尝试了解throttleTimevsdebounceTime以及何时使用哪个?

我有一个向上投票按钮,它向后端发出 API 请求(计算投票数)。用户可以多次提交按钮,但我想限制每秒可以按下按钮的次数。

我知道throttleTimedebounceTime运营商可以做到这一点,但哪一个我应该选择?

const upvoteClicks = fromEvent(this.el.nativeElement, 'click')
   .pipe(debounceTime(500))
   .subscribe(() => this.myService.postUpvote(this.postId));
Run Code Online (Sandbox Code Playgroud)

observable rxjs rxjs-pipeable-operators

24
推荐指数
2
解决办法
7683
查看次数

角度错误:NodeInjector:NOT_FOUND [ControlContainer]

core.js:5873 错误错误:NodeInjector:NOT_FOUND [ControlContainer]

有时当我重新启动项目时,它运行得很好。app.component.html 中只有变化:

<div class="container">
  <div class="row">
    <div class="col-md-4">
      <form action="">

        <div class="form-group">
          <label for="">Username</label>
          <input type="text" name="username" class="form-control" />
        </div>
        <div class="form-group">
          <label>Password</label>
          <input type="password" class="form-control">
        </div>
        <div class="form-group">
          <label>Confirm Password</label>
          <input type="password" class="form-control">
        </div>
        <div>
          <button type="submit" class="btn btn-primary btn-block">Register</button>
        </div>
      </form>
      
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

mean mean-stack angular

23
推荐指数
4
解决办法
4万
查看次数

何时使用JavaScript模板引擎?

以下是来自Ben Nadel的演示单页长寿AJAX应用程序的JavaScript模板示例:[来源]

<script id="contact-list-item-template" type="application/template">

    <li class="contact clear-fix">

            <div class="summary">
                    <a class="name">${name}</a>
            </div>

            <div class="actions">
                    <a href="javascript:void( 0 )" class="more">more</a> &nbsp;|&nbsp;
                    <a href="#/contacts/edit/${id}" class="edit">edit</a> &nbsp;|&nbsp;
                    <a href="#/contacts/delete/${id}" class="delete">delete</a>
            </div>

            <dl class="details clear-fix">
                    <dt>
                            name:
                    </dt>
                    <dd>
                            ${name}
                    </dd>
                    <dt>
                            phone:
                    </dt>
                    <dd>
                            ${phone}
                    </dd>
                    <dt>
                            email:
                    </dt>
                    <dd>
                            ${email}
                    </dd>
            </dl>

    </li>
Run Code Online (Sandbox Code Playgroud)

我想问一下使用像这样的JavaScript模板引擎的目的是什么?它是为了节省带宽吗?这只是一个关注点分离的问题吗?它有助于对抗浏览器内存泄漏问题吗?

我应该何时使用模板引擎,何时更容易使用原始HTML AJAX响应?

相关讨论:

JQuery模板引擎

html javascript templates memory-leaks separation-of-concerns

19
推荐指数
1
解决办法
7323
查看次数

AWS Fargate 和多容器 Elastic Beanstalk 之间的区别?

我知道 ECS 具有 EC2 和 Fargate 启动类型,它们在对底层环境配置提供的控制方面有所不同。

在 Fargate 之前,ECS 用于提供对容器环境的详细控制,而 Elastic Beanstalk 用于抽象这些细节并仅运行容器。

AWS ECSFAQ 部分,它说:

对于 Beanstalk,您只需指定要部署的容器映像、CPU 和内存要求、端口映射和容器链接。如果您希望对自定义应用程序架构进行更精细的控制,您可以直接使用 Amazon ECS。

现在使用 Fargate,提供的功能似乎非常相似。那么 Elastic Beanstalk 上 Fargate 和 docker 有什么区别呢?

amazon-web-services amazon-ecs amazon-elastic-beanstalk aws-fargate

19
推荐指数
1
解决办法
9875
查看次数

如何让 Cypress 只处理可见元素?

我正在尝试使用这个元素:

cy.get('[data-cy-component=single-picker-search] input').type('Live');
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它告诉我有超过 1 个,所以它不能这样做。

我尝试添加 { force: true } - 没有任何区别。

我尝试查看每个元素,但如果元素不可见,则失败:

cy.get(singlePickerSearch).each(($el) => {
  cy.wrap($el).type('Live' + '{enter}');
});
Run Code Online (Sandbox Code Playgroud)

如何让它只输入元素可见的位置?我不希望它在这方面失败。

cypress

18
推荐指数
2
解决办法
8833
查看次数

找不到 Role#users 的实体元数据

试图让OneToManyManyToOne与TypeORM关系,但我得到这个错误,我不知道什么是错我的代码。

我有以下用户实体:

import { BaseEntity, Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
import { Field, ID, ObjectType } from 'type-graphql';

import { Role } from './';

@ObjectType()
@Entity()
export class User extends BaseEntity {
  @Field(() => ID)
  @PrimaryGeneratedColumn()
  public id: number;

  @Field()
  @Column('text', { unique: true })
  public userName: string;

  @Column()
  public password: string;

  @Field()
  @Column('boolean', { default: true })
  public isActive: boolean;

  @ManyToOne(() => Role, role => role.users)
  @Field(() => Role, { nullable: true }) …
Run Code Online (Sandbox Code Playgroud)

typeorm typegraphql

18
推荐指数
8
解决办法
2万
查看次数

Promise.any() 和 Promise.race() 有什么区别

Promise.any()和之间有什么区别Promise.race(),它们的用法有何不同?


来自MDN

此外,与返回第一个已解决值的 Promise.race() 不同,此方法返回第一个已解析值。此方法将忽略所有被拒绝的承诺,直到第一个解决的承诺。

所以这让我想到了resolvestable之间的区别。然后将我带到 MDN 承诺页面然后将我带到状态和命运

定居不是一种状态,只是一种语言上的便利。

所以我们有Promise.anyPromise.race为了语言方便?即没有区别。这种平等的另一个例子是“命运未决的承诺必然是未决的”。和“如果一个承诺不是待定的,即如果它被实现或被拒绝,我们说它被解决了。”。

所以如果一个 promise 被解决了,它就不是未解决的,所以它不是挂起的。那么,如果它不是待定的,它就已经解决了。所以解决了===解决了。

javascript promise

17
推荐指数
1
解决办法
5528
查看次数

如何强制使 Cypress.io 中的测试失败

在 Cypress.io 中,如果满足特定条件,我是否可以强制测试失败?

例子:

在我的网页上,如果字符串“抱歉,出了点问题”。出现在我希望测试失败的页面上。目前这就是我正在做的事情。

/// <reference types="Cypress" />

describe("These tests are designed to fail if certain criteria are met.", () => {
  beforeEach(() => {
    cy.visit("");
  });

  specify("If 'Sorry, something went wrong.' is present on page, FAIL ", () => {
    cy.contains("Sorry, something went wrong.");
  });
});
Run Code Online (Sandbox Code Playgroud)

现在,如果“抱歉,出了点问题”。找到了,测试成功。如果满足此条件,我如何无法通过测试?

testing qa cypress

16
推荐指数
1
解决办法
1万
查看次数

尝试加载未指定的类:ActiveSupport::TimeWithZone - Psych::DisallowedClass

有谁知道如何解决这个异常?不确定它是否相关,但它落在#discard来自 gem 的方法调用上discard

if object.discard
   # Psych::DisallowedClass:
   #   Tried to load unspecified class: ActiveSupport::TimeWithZone
Run Code Online (Sandbox Code Playgroud)

我已尝试将以下每个配置设置添加到 config/application.rb 但问题仍然存在(没有 spring 运行,没有预加载)

# config.active_record.yaml_column_permitted_classes = [Symbol, Hash, Array, ActiveSupport::HashWithIndifferentAccess, ActiveSupport::TimeWithZone, Time]
# config.active_record.use_yaml_unsafe_load
# config.active_support.use_yaml_unsafe_load
Run Code Online (Sandbox Code Playgroud)

Ruby 版本:3.1.2 | 导轨版本:6.1.7

相关问题:

使用 YAML.load_file 时升级到 Ruby 3.1 会导致 Psych::DisallowedClass 异常

作为临时解决方法,我已回滚到6.1.6Rails 版本,但我正在寻找此问题的正确解决方案。

yaml ruby-on-rails activesupport

15
推荐指数
1
解决办法
5724
查看次数

TypeScript:为什么我可以在构造函数中修改 `readonly` 属性?

我有以下打字稿片段:

class Jedi { 
  private readonly name: string = 'Skywalker';
  constructor(name: string) { 
    this.name = name; //Why I am able to modify name.
  }
  toString():string {
    return this.name;
  }
}

var jedi = new Jedi('Kenobi');

console.log(jedi.toString()); //Kenobi
Run Code Online (Sandbox Code Playgroud)

正如您在代码中看到的,我已将name属性声明为readonly. 据我所知,将属性声明为我们readonly在 TypeScript 中使用的常量。一旦我们用初始化声明它,我们就不能修改它。

但是正如您在 constructor 它正在修改中所看到的那样。此外,TypeScript 编译器也不会对此发出警告。不确定这是 TypeScript 中的错误还是有意为之。谁能解释一下?

typescript

14
推荐指数
1
解决办法
2万
查看次数