小编Gog*_*eli的帖子

ThrottleTime 操作员的配置参数如何工作?(油门配置)

我已经阅读了油门时间文档,但我没有完全了解操作员。

我知道如何throttleTime(1000)运作。事件到达后,它将跳过所有后续事件 1 秒,然后再次开始此过程。

我难以理解的是究竟是如何ThrottleConfig工作的,这是操作符的第三个参数。

throttleTime<T>(
  duration: number, 
  scheduler: SchedulerLike = async, 
  config: ThrottleConfig = defaultThrottleConfig): MonoTypeOperatorFunction<T>
Run Code Online (Sandbox Code Playgroud)

leadingtrailing属性如何改变源 Observable 的功能?

我已经阅读了很多文档,但他们没有清楚地解释这一点。

所以有四种选择:

  1. { leading: true, trailing: false }:
    默认选项,接收事件后跳过指定持续时间的其他事件,然后重复。
  2. { leading: false, trailing: true }
    ???
  3. { leading: false, trailing: false }
    对此进行了测试,并且 Observable 根本不发出任何内容。
  4. { leading: true, trailing: true }
    ???

javascript rxjs typescript rxjs6

12
推荐指数
1
解决办法
1238
查看次数

如何自动将参数应用于类构造函数?

我有一个es6类User和一个全局函数map(),如下所示:

class  User {
  constructor(public name: string) {}
}

const map = <T, R>(project: (value: T) => R) => {}
Run Code Online (Sandbox Code Playgroud)

而不是写下面的内容:

map((value) => new User(value))
Run Code Online (Sandbox Code Playgroud)

我想(不知何故)写下这样的东西:

map(new User)
Run Code Online (Sandbox Code Playgroud)

我不确定这是否可行.

javascript typescript ecmascript-6

11
推荐指数
2
解决办法
262
查看次数

我是否需要在 ngOnDestroy 中使用 `complete()` takeUntil Subject?

为了避免组件内部的 Observable 内存泄漏,我takeUntil()在订阅 Observable 之前使用了运算符。

我在我的组件中写了这样的东西:

private unsubscribe$ = new Subject();

ngOnInit(): void {
  this.http
    .get('test')
    .pipe(takeUntil(this.unsubscribe$))
    .subscribe((x) => console.log(x));
}

ngOnDestroy(): void {
  this.unsubscribe$.next();
  this.unsubscribe$.complete(); // <--- ??
}
Run Code Online (Sandbox Code Playgroud)

最后我的问题如下:

我需要写this.unsubscribe$.complete();还是next()就够了?

unsubscribe$要由垃圾收集器没有完成被抓住?

请解释是否存在差异或无关紧要。我不希望我的组件出现内存泄漏。

rxjs typescript angular rxjs6

10
推荐指数
1
解决办法
4446
查看次数

设置JsonConvert.DefaultSettings asp net core 2.0不能按预期工作

我在Startup.cs中有以下代码,并期望它覆盖默认的序列化选项.我希望它覆盖我的asp net core 2.0项目中的每一个序列化,但是动作返回值不正确,我认为这个全局属性在core 2.0中不起作用

我把它写在app.UseMvc()之前的配置中;

JsonConvert.DefaultSettings = () => new JsonSerializerSettings
            {
                Formatting = Formatting.Indented,
                TypeNameHandling = TypeNameHandling.Objects,
                ContractResolver = new CamelCasePropertyNamesContractResolver(),
                Converters = new List<JsonConverter> { new StringEnumConverter() }
            };
Run Code Online (Sandbox Code Playgroud)

c# json asp.net-web-api asp.net-core-2.0

6
推荐指数
1
解决办法
5350
查看次数