Генерировать поток значений через случайные интервалы в rxjs6?

Как я могу установить значение randomIntervals для каждой итерации интервала?

import {random} from 'lodash'
import {interval, timer} from 'rxjs';
import {takeUntil} from 'rxjs/operators';

const timer$ = timer(5000);
const randomInterval = random(100, 1000);
const source = interval(randomInterval)
  .pipe(
    takeUntil(timer$)
  );
source.subscribe(console.info)
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
137
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я не думаю, что вы можете указать случайный интервал, но вы можете использовать тайм-аут

const { BehaviorSubject } = rxjs;

const random$ = new BehaviorSubject(1);

random$.subscribe(val => { console.info(val); });

random();

function random() {
  random$.next(random$.getValue() + 1);
  setTimeout(random, Math.random() * 5000);
}
<script src = "https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.4.0/rxjs.umd.min.js"></script>

Или вот этот ответ

RXJS: Как я могу генерировать поток чисел со случайными интервалами (в пределах указанного диапазона)?

stackoverflow.com/questions/35060681/… вы можете заставить это работать в rxjs6 lol борьба реальна
Armeen Harwood 06.02.2019 02:06

Что насчет этого? Нулевой интервал, который возвращает элементы со случайной задержкой.

const { interval, of } = rxjs;
const { concatMap, delay } = rxjs.operators;

interval(0).pipe(
  concatMap(i => of(i).pipe(delay(Math.random() * 5000)))
).subscribe(val => { console.info(val); });
<script src = "https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.4.0/rxjs.umd.min.js"></script>

Другие вопросы по теме

Похожие вопросы

Как клонировать функцию-конструктор, чтобы она создавала копию исходного типа, которая ведет себя точно так же, как оригинал, но имеет собственный прототип?
Как я могу исправить свой код, чтобы определить, является ли вся строка алфавитной?
Как перейти к следующему элементу в цикле только после выполнения асинхронной функции?
Как я могу сделать свой локальный сервер доступным для внешних запросов?
Добавить событие клика в фоновое изображение css
Пожалуйста, объясните прототипы в javascript
Использование цикла for для вывода нескольких div
Почему импортированный тип дает ошибку, в то время как точно такой же тип в локальном файле работает нормально в пересечении функции потока
Как я могу изменить цвет текста после нажатия кнопки и вернуть цвет через пару секунд без нажатия?
Функция Javascript сначала выполняется и возвращает значение, прежде чем продолжить