Разница между обещанием и RxJS - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь понять следующий текст, но мне это сложно, потому что я не работал с Promise и планирую запустить Rx JS с Angular:

"Недостаток использования Обещает, что они не могут обрабатывать источники данных, которые производят более одного значения, например движения мыши или последовательности байтов в файловом потоке "

В примере

let promise = new Promise(function(resolve, reject) {
  // the function is executed automatically when the promise is constructed
  setTimeout(() => resolve("done"), 1000);
});

Означает ли это, что внутри этой функции нельзя вызывать события мыши? Что именно означает более чем одно значение? Массив?

1 Ответ

1 голос
/ 14 июля 2020

Объект Promise представляет будущий результат одной асинхронной операции, после завершения этой операции промис либо выполняется, либо отклоняется. Обещания не могут использоваться и не предназначены для представления результатов повторяющихся асинхронных операций.

Обещания не подходят для использования с источниками нескольких асинхронных событий, таких как click событие в браузере, setInterval() или data событие в потоке NodeJS. Поскольку пользовательские события могут происходить несколько раз, в этом случае вы будете использовать обработчик событий, который может выполняться несколько раз, вместо обещания, потому что одно обещание не может выполняться несколько раз, после того как оно установлено, оно выполнено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...