ื ืืืื ืืขืืขืจ. ืกืขืจืืื ืึธืืขืื ืืฆืงื ืืื ืืื ืงืึธื ืืึทืงื. ื ืื ืืึทื ื ืฆืืจืืง ืืื ืืึธืืกืืื ืึท ืืืึทื ืืืืฃ ืจืืึทืงืืืื ืคึผืจืึธืืจืึทืืืื ื, ืืื ืืื ืืขืจืขืื ืืืขืื ืืืกืื ืืงืจืึทื ื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื. ืืืึทื ื ืืื ืืืึธืื ืืื ืฆื ื ืขืืขื ืืขืจืืช ืืืืฃ ืืขื ืืึทืืขืจืืึทื.
ืืืขืจ ืืืืืขืจ ืืืจ ืึธื ืืืืื ืื ืืืืคึผื ืืึทืืขืจืืึทื, ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืื ืึท ืื ืืจืึทืืึทืงืืขืจื ืืึธื. ืืึธืืืจ ืึธื ืืืืื ืืื ืืขืคึฟืื ืืฆืืขืก: ืืืึธืก ืืื ืึท ืึธื ืืืืื ืืื ืึท ืจืื?
ืึธื ืืืืื ืืื ืึท ืืึทืืืื ื ืืืขืืขื ืก ืขืืขืืขื ืื ืืขื ืขื ืืืงืืืขื ืืืืฃ ืึท ืืขืฆืืข-ืืื, ืขืจืฉืืขืจ-ืืืืก LIFO ืืงืขืจ
ืืจืืืขื ืืื ืึท ืืึทืืืื ื ืืืขืืขื ืก ืขืืขืืขื ืื ืืขื ืขื ืืืงืืืขื ืืืืฃ ืึท ืขืจืฉืืขืจ-ืืื, ืขืจืฉืืขืจ-ืืืืก FIFO ืืงืขืจ
ืึธืืงืื, ืืึธืืืจ ืคืึธืจืืขืฆื.
ืืืฉืึทืืืึทืกืงืจืืคึผื ืืื ืึท ืืืื-ืคืึธืืขื ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทื. ืืขื ืืืื ืึทื ืขืก ืืื ืืืืื ืืืื ืคืึธืืขื ืคืื ืืืจืืคืืจืื ื ืืื ืืืื ืึธื ืืืืื ืืืืฃ ืืืึธืก ืคืึทื ืืงืฉืึทื ื ืืขื ืขื ืงืื ืคึฟืึทืจ ืืืจืืคืืจืื ื. ืืขืจืืืขืจ, ืืืฉืึทืืืึทืกืงืจืืคึผื ืงืขื ืขื ืืืืื ืืืจืืคืืจื ืืืื ืึธืคึผืขืจืึทืฆืืข ืืื ืึท ืฆืืึทื, ืืฉืขืช ืื ืืขืจืข ืึทืคึผืขืจืืืฉืึทื ื ืืืขื ืืืึทืจืื ืืืืขืจ ืงืขืจ ืืืืฃ ืื ืึธื ืืืืื ืืื ืืื ืืขื ืขื ืืขืจืืคึฟื.
ืจืืคื ืึธื ืืืืื ืืื ืึท ืืึทืื ืกืืจืืงืืืจ ืืืึธืก, ืคืฉืื ืฉืืขืื, ืจืขืงืึธืจืืืจื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืืขื ืึธืจื ืืื ืื ืคึผืจืึธืืจืึทื ืืื ืืืจ ืืขื ืขื. ืืืื ืืืจ ืคืึธืจื ืืื ืึท ืคึฟืื ืงืฆืืข, ืืืจ ืฉืืืคึผื ืืืึทื ืคึผืึธืืืฆืืข ืฆื ืื ืฉืคึผืืฅ ืคืื ืื ืึธื ืืืืื. ืืืขื ืืืจ ืฆืืจืืงืงืืืขื ืคืื ืึท ืคึฟืื ืงืฆืืข, ืืืจ ืงื ืึทื ืื ืฉืคึผืืฅ ืขืืขืืขื ื ืคืื ืืขื ืึธื ืืืืื ืืื ืกืืฃ ืึทืจืืืฃ ืฆืืจืืง ืืื ืืืจ ืืขืจืืคื ืื ืคึฟืื ืงืฆืืข. ืืึธืก ืืื ืึทืืข ืืืึธืก ืืขืจ ืกืืึทืง ืงืขื ืขื ืืึธื. ืืื ืืืฆื ืึท ืืึธืจ ืืฉืืงืึทืืืข ืงืฉืื. ืืื ืึทืืื ืึทืจืืขื ืืืกืื ืืงืจืึทื ื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื?
ืืื ืึทืืืฉืึทื ืฆื ืืขื ืึธื ืืืืื, ืืจืึทืืืขืจื ืืึธืื ืึท ืกืคึผืขืฆืืขื ืจืื ืคึฟืึทืจ ืืจืืขืื ืืื ืื ืึทืืื ืืขืจืืคืขื ืข ืืืขืืึทืคึผื. ืื ืคืึทื ืืงืฉืึทื ื ืืื ืืขื ืจืื ืืืขื ืืืื ืขืงืกืึทืงืืืืึทื ืืื ืกืืจ ืืืืื ื ืึธื ืื ืึธื ืืืืื ืืื ืืึธืจ ืงืืืจื. ืืืืื ื ืึธื ืืขื ืืขื ืขื ืืื ืคึผืืฉื ืคืื ืื ืจืื ืึทื ืื ืื ืึธื ืืืืื ืคึฟืึทืจ ืืืจืืคืืจืื ื. ืืืื ืขืก ืืื ืืืึท ืืื ืืกืืขืจ ืืืื ืขืืขืืขื ื ืืืืฃ ืืขื ืึธื ืืืืื ืืื ืืขื ืืึธืืขื ื, ืืื ืงืขื ืขื ื ืื ืืืื ืืืกืืฃ ืฆื ืืขื ืึธื ืืืืื. ืขืก ืืื ืคึผืื ืงื ืืืืึทื ืคืื ืืขื ืึทื ืจืืคื ืคืึทื ืืงืฉืึทื ื ืืืจื ืืืืืึทืื ืืื ืึธืคื ื ืืฉื ืืขื ืื ืืื ืฆืืื, ืืืืึทื ืื ืคึฟืื ืงืฆืืข ืงืขื ื ืืฉื ืืึทืงืืืขื ืคืื ืื ืจืื ืฆื ืื ืึธื ืืืืื ืืฉืขืช ืขืก ืืื ืคืื.
ืืึธืืืจ ืงืืงื ืืื ืื ืคืืืืขื ืืข ืืืืฉืคึผืื ืืื ืึธื ืืืืื ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืืขื ืฉืจืื-ืืืจื-ืฉืจืื. ืืึธืืืจ ืืืื ืืขื ืืืึธืก ืืึทืคึผืึทื ื ืืื ืื ืกืืกืืขื.
console.log('Hi');
setTimeout(function cb1() {
console.log('cb1');
}, 5000);
console.log('Bye');
1) ืืึธืจื ืืฉื ืืื ืืขืฉืขืขื ืืฉ ื ืึธื. ืืขืจ ืืืขืืขืจืขืจ ืงืึทื ืกืึธืื ืืื ืงืืึธืจ, ืื ืจืืคื ืึธื ืืืืื ืืื ืืืืืืง.
2) ืืขืจื ืึธื ืื ืืึทืคึฟืขื console.log ('ืื') ืืื ืืืกืืฃ ืฆื ืื ืจืืคื ืึธื ืืืืื.
3) ืืื ืขืก ืืื ืืงืืื
4) ืืขืจื ืึธื console.log ('ืื') ืืื ืึทืืืขืงืืขื ืืืขื ืคืื ืื ืจืืคื ืึธื ืืืืื.
5) ืืืฆื ืืึทื ืืืืฃ ืฆื ืื ืืึทืคึฟืขื setTimeout (ืคืื ืงืฆืืข cb1 () {... }). ืขืก ืืื ืืืกืืฃ ืฆื ืื ืจืืคื ืึธื ืืืืื.
6) ืื setTimeout (ืคืื ืงืฆืืข cb1 () {... }) ืืึทืคึฟืขื ืืื ืขืงืกืึทืงืืืืึทื. ืืขืจ ืืืขืืขืจืขืจ ืงืจืืืืฅ ืึท ืืืึทืืขืจ ืืืึธืก ืืื ืืืื ืคืื ืื ืืืขื ืึทืคึผื. ืขืก ืืืขื ืืืจืืคืืจื ืึท ืงืึธืื ืืืึธืืื.
7) ืืขืจ ืืึทืคึฟืขื setTimeout (ืคืื ืงืฆืืข cb1 () {... }) ืืื ืืขืขื ืืืงื ืืืื ืึทืจืืขื ืืื ืืื ืึทืืืขืงืืขื ืืืขื ืคืื ืื ืจืืคื ืึธื ืืืืื.
8) ืื ืืึทืคึฟืขื console.log ('ืืื') ืืื ืืืกืืฃ ืฆื ืื ืจืืคื ืึธื ืืืืื.
9) ืื console.log('ืืื') ืืึทืคึฟืขื ืืื ืขืงืกืึทืงืืืืึทื.
10) ืื ืืึทืคึฟืขื console.log ('ืืื') ืืื ืึทืืืขืงืืขื ืืืขื ืคืื ืื ืจืืคื ืึธื ืืืืื.
11) ื ืึธื ืืคึผืืืช 5000 ืืื ืืืจืืืขืืื ืืขื, ืื ืืืึทืืขืจ ืืขืจืืึทื ืืืฅ ืืื ืฉืืขืื ืงืึทืืืืึทืงืง ืงื1 ืืื ืื ืงืึทืืืืึทืงืง ืจืื.
12) ืื ืืขืฉืขืขื ืืฉ ืฉืืืืฃ ื ืขืื ืคึฟืื ืงืฆืืข cb1 ืคึฟืื ืื ืงืึทืืืืึทืงืง ืจืื ืืื ืฉืืขืื ืขืก ืืืืฃ ืื ืจืืคื ืึธื ืืืืื.
13) ืคึฟืื ืงืฆืืข cb1 ืืื ืขืงืกืึทืงืืืืึทื ืืื ืืืกืืฃ console.log ('cb1') ืฆื ืื ืจืืคื ืึธื ืืืืื.
14) ืื console.log('cb1') ืืึทืคึฟืขื ืืื ืขืงืกืึทืงืืืืึทื.
15) ืื ืืึทืคึฟืขื console.log ('cb1') ืืื ืึทืืืขืงืืขื ืืืขื ืคืื ืื ืจืืคื ืึธื ืืืืื.
16) ืคึฟืื ืงืฆืืข cb1 ืืื ืึทืืืขืงืืขื ืืืขื ืคืื ืื ืจืืคื ืึธื ืืืืื.
ืืึธืืืจ ืืขื ืึท ืืืืฉืคึผืื ืืื ืืื ืึทืืืง:
ื ื, ืืืจ ืืขืงืืงื ืืื ืืืกืื ืืงืจืึทื ื ืืื ืืืคึผืืึทืืขื ืึทื ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื. ืืืฆื ืืึธืื ืก ืจืขืื ืืขืงืืฆืขืจ ืืืขืื ืื ืขืืืึธืืืฆืืข ืคืื โโืืืกืื ืืงืจืึทื ืึทืก ืงืึธื.
ืื ืขืืืึธืืืฆืืข ืคืื โโืืืกืื ืืงืจืึทื ืึทืก ืงืึธื.
a(function (resultsFromA) {
b(resultsFromA, function (resultsFromB) {
c(resultsFromB, function (resultsFromC) {
d(resultsFromC, function (resultsFromD) {
e(resultsFromD, function (resultsFromE) {
f(resultsFromE, function (resultsFromF) {
console.log(resultsFromF);
})
})
})
})
})
});
ืึทืกืื ืืฉืจืึธื ืึธืืก ืคึผืจืึธืืจืึทืืืื ื ืืื ืืืจ ืืืืกื ืขืก ืืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืงืขื ืขื ืืืื ืืืคึผืืึทืืขื ืึทื ืืืืื ืืืจื ืคืึทื ืืงืฉืึทื ื. ืืื ืงืขื ืขื ืืืื ืืืจืืืขืืื ืืขื ืืื ืงืืื ืื ืืขืจืข ืืืขืจืืึทืืึทืื ืฆื ืื ืืขืจืข ืคืึทื ืืงืฉืึทื ื. ืืึธืก ืืื ืืื ืงืึทืืืึทืงืงืก ืืขื ืขื ืืขืืืืจื. ืืื ืขืก ืืื ืงืื, ืฉืคึผืึทืก ืืื ืฉืืืคืขืจืืฉ, ืืื ืขืก ืืืจื ืก ืืื ืืืขื, ืืขืืึทื ืืึธืืืฉ ืืื ืืืขื. ืคืืจืืืืก? ืขืก ืืื ืคึผืฉืื:
- ืืืขื ืื ืงืึทืืคึผืืขืงืกืืื ืคืื ืื ืงืึธื ืื ืงืจืืกืื, ืื ืคึผืจืืืขืงื ืืขืฉืืืื ื ืืืจื ืก ืืื ืืื ืงื, ืจืืคึผืืืืืื ื ืขืกืืขื ืืืึทืงืก - "ืงืึทืืืึทืง ืืขื ืขื".
- ืืขืืช ืืึทื ืืืื ื ืงืขื ืขื ืืืื ืืจืื ื ืฆื ืคืึทืจืคืืจื.
- ืืืจ ืงืขื ืขื ื ืืฉื ืฆืืจืืงืงืืืขื ืืืืกืืจืืงื ืืื ืฆืืจืืงืงืืืขื.
ืืื ืื ืฆืืืึทื ื ืคืื ืคึผืจืึธืืืก, ืื ืกืืืืึทืฆืืข ืืขืืืืจื ืึท ืืืกื ืืขืกืขืจ.
new Promise(function(resolve, reject) {
setTimeout(() => resolve(1), 2000);
}).then((result) => {
alert(result);
return result + 2;
}).then((result) => {
throw new Error('FAILED HERE');
alert(result);
return result + 2;
}).then((result) => {
alert(result);
return result + 2;
}).catch((e) => {
console.log('error: ', e);
});
- ืฆืืืึธื ืงืืืื ืืจืืืก, ืืืึธืก ืืืคึผืจืืืื ืงืึธื ืจืืืึทืืืืืื
- ื ืืึทืืื ืืขืจ ืืืคึฟื ืคึฟืึทืจ ืงืึทืืฉืื ื ืขืจืจืึธืจืก ืืื ืืจืืืก
- ืฆืืืขืืขืื ืื ืืขืืืขืืงืืื ืคืื ืคึผืึทืจืึทืืขื ืืืจืืคืืจืื ื ื ืืฆื Promise.all
- ืืืจ ืงืขื ืขื ืกืึธืืืืข ื ืขืกืืขื ืืืกืื ืืงืจืึทื ื ื ืืฆื ืึทืกืื ืง / ืืขืจืืืึทืจืื
ืืืขืจ ืืืืืืช ืืึธืื ืืืืขืจ ืืืืืืืืฉืึทื ื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืึท ืฆืืืึธื ืงืขื ืขื ื ืื ืืืื ืงืึทื ืกืึทืื ืึธื ืืึทื ืกืื ื ืืื ืึท ืืึทืืืืจืื, ืืื ืืืึธืก ืืื ืืขืจืกื ืืืืืืืง ืืื ืึทื ืขืก ืึทืจืืขื ืืื ืืืื ืืืขืจื.
ื ื, ืืืจ ืืึธืื ืกืืืืื ืึทืคึผืจืึธืืืฉื ืจืืึทืงืืืื ืคึผืจืึธืืจืึทืืืื ื. ืืื? ื ื, ืืืืง, ืืืจ ืงืขื ืขื ืืืื ืืึทืื ืขืืืขืืข ืืื, ืืจืึทืืื ืืืขืื ืืื ืืื ืงืืืขื ืฆืืจืืง ืฆื ืืืืขื ืขื ืืขืจ. ืืื ืืื ืืืขื ืคืึธืจืืขืฆื.
ืจืขืึทืงืืืืืข ืคึผืจืึธืืจืึทืืืื ืโืืื ืึท ืคึผืจืึธืืจืึทืืืื ื ืคึผืึทืจืึทืืืื ืคืึธืืงืืกื ืืืืฃ ืืึทืื ืคืืึธืื ืืื ืืืืฉื ืคึผืจืึทืคึผืึทืืืืฉืึทื. ืืื ืก ื ืขืืขื ืึท ื ืขืขื ืืขืจ ืงืืง ืืื ืืืึธืก ืึท ืืึทืื ืืืึทื ืืื.
// ะะพะปััะฐะตะผ ัััะปะบั ะฝะฐ ัะปะตะผะตะฝั
const input = ducument.querySelector('input');
const eventsArray = [];
// ะััะธะผ ะบะฐะถะดะพะต ัะพะฑััะธะต ะฒ ะผะฐััะธะฒ eventsArray
input.addEventListener('keyup',
event => eventsArray.push(event)
);
ืืื ืก ืืืึทืืืฉืึทื ืึทื ืืืจ ืืึธืื ืึท ืึทืจืืึทื ืฉืจืืึทื ืคืขืื. ืืืจ ืฉืืคื ืึท ืืขื ืืข ืืื ืคึฟืึทืจ ืืขืืขืจ ืงื ืืคึผ ืคืื ืื ืึทืจืืึทื ืฉืจืืึทื ืืขืฉืขืขื ืืฉ ืืืจ ืืืขืื ืงืจืึธื ืื ืืขืฉืขืขื ืืฉ ืืื ืืื ืืืขืจ ืืขื ืืข. ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืืื ืืืึธืื ืืื ืฆื ืืึธื ืึทื ืืื ืืืขืจ ืืขื ืืข ืืื ืืืืกืืขืฉืืขืื ืืืื ืฆืืื, ื.ื. ืืขืจ ืืื ืืขืงืก ืคืื ืฉืคึผืขืืขืจืืืงืข ืืขืฉืขืขื ืืฉื ืืื ืืจืขืกืขืจ ืืื ืืขืจ ืืื ืืขืงืก ืคืื ืคืจืืขืจืืืืข. ืึทืืึท ืึท ืืขื ืืข ืืื ืึท ืกืืืคึผืืึทืคืืื ืืึธืืขื ืคืื ืึท ืืึทืื ืืืืคื, ืึธืืขืจ ืขืก ืืื ื ืืฉื ื ืึธื ืึท ืืืืคื. ืึผืื ืืขื ืืขื ืืข ืืึธื ืืืื ืืขืจืืคึฟื ืืขืฉืึธืืขื ืึท ืืืึทื, ืขืก ืืืื ืืืื ืืืืืืช ืฆื ืขืคืขืก ืืืืืืืื ืืืื ืขื ืื ืึทื ื ืืึท ืืึทืื ืืขื ืขื ืื ืืขืงืืืขื ืืื ืขืก. ืืืื ืืืจ ืงืืืขื ืฆื ืืขืจ ืืขืคึฟืื ืืฆืืข ืคืื โโืืืืคื.
ืืึทืื ืืืึทื
const { interval } = Rx;
const { take } = RxOperators;
interval(1000).pipe(
take(4)
)
ืืืืคืโืืื ืึท ืืขื ืืข ืคืื โโืืึทืื ืืืืกืืขืฉืืขืื ืืืื ืฆืืื ืืืึธืก ืงืขื ืขื ืึธื ืืืืึทืื ืึทื ืื ืืึทืื ืืึธืื ืืขืืืื. ืืืฆื ืืืึทืืืฉืึทื ืืื ืืึทืงืืืขื ืขืก ืืืขืจื ืฆื ืฉืจืืึทืื ืงืึธื ืืื ืืืึธืก ืืืื ืงืึทืืฃ ืจืืงืืืืืขืจื ืคืึทื ืขืืืขืืข ืืขืฉืขืขื ืืฉื ืืื ืคืึทืจืฉืืืขื ืข ืคึผืึทืจืฅ ืคืื ืื ืงืึธื. ืืืจ ืคืฉืื ืึทืืึธื ืืจื ืฆื ืืขื ืืืึทื ืืื ืขืก ืืืขื ืืขืื ืฆื ืืืืกื ืืื ืื ืืืขื ืขื ืืขืจืื ืืขื ืคึผืึทืกืืจื. ืืื ืื RxJs ืืืืืืึธืืขืง ืงืขื ืขื ืืึธื ืืึธืก.
RxJS ืืื ืึท ืืืืืืึธืืขืง ืคึฟืึทืจ ืืจืืขืื ืืื ืืืกืื ืืงืจืึทื ืึทืก ืืื ืืขืฉืขืขื ืืฉ-ืืืืืจื ืืืืื ื ืืฆื ืึธืืกืขืจืืืึทืืืข ืกืืงืืืึทื ืกืื. ืื ืืืืืืึธืืขืง ืืื ืึท ืืงืขืจืืืง ืืืคึผ ืึธืืกืขืจืืืึทืืืขืขืืืขืืข ืึทืืืืืืขืจื ืืืืคึผืก (ืึทืืืขืจืืืขืจ, ืกืงืขืืืฉืืืขืจื, ืกืึทืืืืฉืขืงืฅ) ืืื ืึธืคึผืขืจืืืืขืจื ืคึฟืึทืจ ืืจืืขืื ืืื ืืขืฉืขืขื ืืฉื ืืื ืืื ืืึทืืืื ืืขื (ืืึทืคึผืข, ืคืืืืขืจ, ืจืขืืืฆืืจื, ืืขืืขืจ ืืื ืขื ืืขื ืึธื ืขืก ืคึฟืื ืืืฉืึทืืืึทืกืงืจืืคึผื ืึทืจืจืืึท).
ืืื ืก ืคึฟืึทืจืฉืืืื ืื ืืจืื ื ืงืึทื ืกืขืคึผืก ืคืื ืืขื ืืืืืืึธืืขืง.
ืืืืขืจืงื, ืึธืืกืขืจืืืขืจ, ืคึผืจืึธืืืฆืืจืขืจ
ืึธืืกืขืจืืืึทืืืข ืืื ืืขืจ ืขืจืฉืืขืจ ืืงืขืจืืืง ืืืคึผ ืืืึธืก ืืืจ ืืืขืื ืงืืงื ืืื. ืืขืจ ืงืืึทืก ืึผืืื ืื ืืืืคึผื ืืืื ืคืื ืื RxJs ืืืคึผืืึทืืขื ืืืืฉืึทื. ืขืก ืืื ืคึฟืึทืจืืื ืื ืืื ืึท ืึทืืืขืจืืืึทืืึทื ืืืึทื, ืืืึธืก ืงืขื ืขื ืืืื ืึทืืึธื ืืจื ืฆื ื ืืฆื ืื ืึทืืึธื ืืจื ืืืคึฟื.
ืึธืืกืขืจืืืึทืืืข ืืืคึผืืึทืืึทื ืฅ ืึท ืืขืืคึผืขืจ ืืขืงืึทื ืืืึทื ืคึฟืึทืจ ืงืจืืืืืื ื ืืขืจืืืึทื ืืืงืื ืืขื, ืื ืึทืืื ืืขืจืืคืขื ืข ืึทืืืขืจืืืขืจ. ืืขืจ ืืงืืจ ืคืื ืืืึทืืืขืก ืคึฟืึทืจ ืื ืึธืืกืขืจืืืขืจ ืืื ืืขืจืืคื ืคึผืจืึธืืืฆืืจืขืจ. ืืึธืก ืงืขื ืืืื ืึท ืืขื ืืข, ืืืขืจืึทืืึธืจ, ืืืขื ืืึธืืขื, ืขืืืขืืข ืกืึธืจื ืคืื ืืขืฉืขืขื ืืฉ, ืืื"ื ื. ืึทืืื ืืืจ ืงืขื ืขื ืืึธืื ืึทื ืึธืืกืขืจืืืึทืืืข ืืื ืึท ืึธื ืคืืจืขืจ ืฆืืืืฉื ืคึผืจืึธืืืฆืืจืขืจ ืืื ืึธืืกืขืจืืืขืจ.
ืึธืืกืขืจืืืึทืืืข ืืึทื ืืึทืื ืืจืื ืืืืคึผืก ืคืื ืึธืืกืขืจืืืขืจ ืืขืฉืขืขื ืืฉื:
- ืืืืึทืืขืจ - ื ืืึท ืืึทืื
- ืืขืืช - ืึท ืืขืืช ืืืื ืื ืกืืงืืืึทื ืก ืืื ืืขืขื ืืืงื ืจืขืื ืฆื ืึท ืืืกื ืขื. ืืขื ืืขืฉืขืขื ืืฉ ืืืื ืืืคึผืืืื ืื ืงืึทืืคึผืืืฉืึทื ืคืื ืื ืกืืงืืืึทื ืก.
- ืืึทื ืฅ - ืกืืื ืึทื ืืืขืื ืื ืงืึทืืคึผืืืฉืึทื ืคืื ืื ืกืืงืืืึทื ืก. ืืึธืก ืืืื ื ืึทื ืขืก ืืืขื ื ืื ืืืื ืืขืจ ื ืืึทืข ืืึทืื.
ืืึธืืืจ ืืขื ืื ืืขืืึธ:
ืืื ืื ืึธื ืืืื, ืืืจ ืืืขืื ืคึผืจืึธืฆืขืก ืื ืืืึทืืืขืก 1, 2, 3 ืืื ื ืึธื 1 ืจืืข. ืืืจ ืืืขืื ืืึทืงืืืขื 4 ืืื ืขื ืืืงื ืืื ืืืขืจ ืืืึทื.
ืืจืืืื ืืืื
ืืื ืืขืืึธืื ืืื ืืืื ืืขืืขื ืึทื ืืขืจืฆืืืื ืขืก ืืื ืืขืจ ืืฉืืงืึทืืืข ืืื ืฉืจืืืื ืืืขืื ืืื. ๐
ืึทืืึธื ืขืืขื ื
ืืืขื ืืืจ ืึทืืึธื ืืจื ืฆื ืึท ืืืึทื, ืืืจ ืืึทืื ืึท ื ืืึทืข ืงืืึทืก ืึทืืึธื ืขืืขื ืืืืึธืก ืืื ืืื ืื ืื ืคืืืืงืืื ืฆื ืึทื ืกืึทืืกืงืจืืืื ืืื ืืขื ืืืคึฟื ืึทื ืกืึทืืกืงืจืืื. ืืืจ ืงืขื ืขื ืืืื ืืจืืคึผืข ืกืึทืืกืงืจืืคึผืฉืึทื ื ื ืืฆื ืืขื ืืืคึฟื ืฆืืืขืื. ื ื, ืขืก ืืื ืืึทืืืฉืืงืึทื ืึทื ืืืจ ืงืขื ืขื ืึทื ืืจืืืคึผ ืื ืคึฟืขืืขื ื ืืฆื ืึทืจืึธืคึผื ืขืืขื. ืื ืืืืื ืืื ืึทืจืึธืคึผื ืขืืขื ืืขืืืึธืืก ืึธื ื ืขืืขื ืื ืื ืืขืจ ืึทืืึธื ืขืืขื ื ืืื ืึทืจืืึทื ืฉืจืืึทื. ืืื ืืืึธืื ืืื ืฆื ืืึธื ืึทื ืืืขื ืืืจ ืึทื ืกืึทืืกืงืจืืื, ืืืจ ืึทื ืกืึทืืกืงืจืืืืื ื ืคืื ืึทืืข ืงืื ื ืกืึทืืกืงืจืืคึผืฉืึทื ื ืืื ืืืื ืืื ืืึธืื ืืขืจืืคื ืื ืึทื ืกืึทืืกืงืจืืืืื ื ืืืคึฟื. ืืื ืืืืืืขืจ.
ืืืืคึผืก ืคืื ืกืืจืืื
ืืืืก
ืงืึทืื
ืคึผืจืึธืืืฆืืจืขืจ ืืื ืืืฉืืคื ืึทืจืืืก ืึธืืกืขืจืืืึทืืืข
ืคึผืจืึธืืืฆืืจืขืจ ืืื ืืืฉืืคื ืื ืืืืขืจืงื
ืืึทืื ืืขื ืขื ืืจืึทื ืกืคืขืจื ืืื ืืขืจ ืฆืืื ืืืขื ืื ืึทืืืขืจืืืึทืืึทื ืืื ืืืฉืืคื
ืืึทืื ืืขื ืขื ืฆืืืขืฉืืขืื ืืื ืืขืจ ืฆืืื ืคืื ืึทืืึธื ืขืืขื ื
ืืึทืจืคึฟื ื ืึธื ืืึธืืืง ืคึฟืึทืจ ืึทื ืกืึทืืกืงืจืืืืื ื
ืืขืจ ืคึฟืึธืืขื ืขื ืืืงื ืืื ืึทืืืื
ื ืืฆื ืึท ืืืื-ืฆื-ืคืืืข ืฉืืืืืช
ื ืืฆื ืึท ืืืื-ืฆื-ืืืื ืขืจ ืฉืืืืืช
ืึทืืข ืกืึทืืกืงืจืืคึผืฉืึทื ื ืืึธืื ืื ืืขืืืข ืืืึทืืฉ
ืกืึทืืกืงืจืืคึผืฉืึทื ื ืืขื ืขื ืคืจืืึท
ืืึทืื ืงืขื ืขื ืืืื ืคืึทืจืคืึทืื ืืืื ืืืจ ืืึธื ื ืื ืืึธืื ืึท ืึทืืึธื ืขืืขื ื
ืจืืกืืื ืึทืืข ืืืึทื ืืืึทืืืขืก ืคึฟืึทืจ ืึท ื ืืึทืข ืึทืืึธื ืขืืขื ื
ืฆื ืืขืื ืึทื ืึทื ืึทืืึทืืืฉื, ืืื ืืืึธืื ืืจืึทืืื ืืืขืื ืึท ืืืืก ืืืึทื ืืื ืึท ืคึฟืืื ืืื ืึท ืืขืึทืืขืจ. ืืื ืืืึธืก ืคืื ื ืืื ืฆืืื ืืืจ ืื ืืขืงืืืขื, ืคืื ืืขื ืืึธืืขื ื ืืืจ ืื ืืขืืืืื ืืืึทื. ืืื ืืืึธืื ืคืึทืจืืืืึทืื ืึท ืงืึทืื ืืืืคื ืฆื ืึท ืจืืคื ืืื ืืขืง. ืฉืืืฆื. ืืขืืขืจ ืงืึทืืืขืจ ืืืกืึทื ื ืฆื ืื ืืืืืกืืืื ืจืขืงืึธืจืืื ื ืคืื ืึธื ืืืื ืฆื ืขื ืืืงื, ืึธืืขืจ ืืืจ ืงืขื ืขื ืืขื ืืขื ืืื ืืื ืึทื ืกืึทืืกืงืจืืืืื ื.
ืืื ืืืื ืืืืขืจืงื ืื ืขืก ืืขื ืขื ืืืื ืื ืืืืืืขืจืืคืขื ืข ืืืืจืขืืข ืคืืืกื (ืื ืืขืคืื ืืฆืืข ืืื ืืื ืืขืืจืืคื ืืืจ ืืขืืื ืืื ื ืืจ ืืื ืคืจืขืืืข ืงืืืืืช) - ืืืก ืืื ื ืฉืืจืื ืืืืก ืคืืจืืืื ืืื ืืื ืคืื ื ืงืืืื ืืืืคื ืฆื ื ืืืืกืขืจ. ืื ืงืฉืื ืขืจืืืืึทื - ืืื ืฆื ื ืืฆื)) ืืื ืืืขื ืืขืื ืึท ืืืึทืฉืคึผืื ืคืื ืคืืจ.
ืืื ืึทืจืืขื ืืื ืึทื ืืืืึทืจ. ืขืจ ืึทืงืืืืืื ื ืืฆื rxjs. ืฆื ืืึทืงืืืขื ืืึทืื ืฆื ืื ืกืขืจืืืขืจ, ืืื ืืขืจืืืึทืจืื ืึท ืงืึทืื ืคืึธืืขื ืืื ื ืืฆื ืืขื ืคืึธืืขื ืืื ืื ืืืกืืขืจ ื ืืฆื asyncPipe. ืืืื ืืื ื ืืฆื ืืขื ืจืขืจ ืขืืืขืืข ืืึธื, ืืขืจืืืขืจ, ืฆืืจืืงืงืืืขื ืฆื ืื ืืขืคึฟืื ืืฆืืข ืคืื โโืึท ืงืึทืื ืืืึทื, ืืขืืขืจ ืจืขืจ ืืืขื ืืขืื ืืึทืื ืคืื ืื ืกืขืจืืืขืจ, ืืืึธืก ืืื ืืึธืื ืข ืฆื ืืึธืื ืืขืจ ืืื ืืกืืขืจ. ืืื ืืืื ืืื ืคืืจืืืื ืืื ื ืงืืืื ืฉืืจืื ืืื ื ืืืืจืขืืขื, ืืขืืืื ืืืขื ืคืืกืืจื ืืืื ืืื ืื ืืงืฉื.
ืืื ืึทืืืขืืืื, ืฆื ืคึฟืึทืจืฉืืืื ืื ืืืคึผ ืคืื ืคืืึธืื ืืื ืืึทื ืฅ ืฉืืืขืจ ืคึฟืึทืจ ืืืืื ืขืจื, ืึธืืขืจ ืืืืืืืง.
ืึธืคึผืขืจืึทืืึธืจืก
return this.http.get(`${environment.apiUrl}/${this.apiUrl}/trade_companies`)
.pipe(
tap(({ data }: TradeCompanyList) => this.companies$$.next(cloneDeep(data))),
map(({ data }: TradeCompanyList) => data)
);
ืึธืคึผืขืจืืืืขืจื ืฆืืฉืืขืื ืืื ืื ืื ืคืืืืงืืื ืฆื ืืงืกืคึผืึทื ื ืืื ืืืขืจ ืคืืืืงืืื ืฆื ืึทืจืืขืื ืืื ืกืืจืืื. ืืื ืืขืืคึฟื ืงืึธื ืืจืึธืืืจื ืื ืืขืฉืขืขื ืืฉื ืืืึธืก ืคึผืึทืกืืจื ืืื ืื ืึธืืกืขืจืืืึทืืืข. ืืืจ ืืืขืื ืงืืงื ืืื ืึท ืคึผืึธืจ ืคืื ืื ืืขืจืกื ืคืึธืืงืก ืึธื ืขืก, ืืื ืืขืจ ืืขืืึทืืืก ืืืขืื ืื ืึธืคึผืขืจืืืืขืจื ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื ืืื ืื ืืื ืงืก ืืื ืื ื ืืฆืืง ืืื ืคึฟืึธืจืืึทืฆืืข.
ืึธืคึผืขืจืืืืขืจื - ืคืื
ืืื ืก ืึธื ืืืืื ืืื ืื ืึทืืืืืืขืจื ืึธืคึผืขืจืึทืืึธืจ ืคืื. ืขืก ืงืจืืืืฅ ืึท ืึธืืกืขืจืืืึทืืืข ืืืืืจื ืืืืฃ ืึท ืคึผืฉืื ืืืขืจื.
ืึธืคึผืขืจืืืืขืจื - ืคืืืืขืจ
ืืขืจ ืคืืืืขืจ ืึธืคึผืขืจืึทืืึธืจ, ืืื ืืขืจ ื ืึธืืขื ืกืึทืืืืฉืขืก, ืคืืืืขืจืก ืื ืืืึทื ืกืืื ืึทื. ืืืื ืืขืจ ืึธืคึผืขืจืึทืืึธืจ ืงืขืจื ืืืช, ืขืก ืกืงืืคึผืก ืืืืึทืืขืจ.
ืึธืคึผืขืจืืืืขืจื - ื ืขืืขื
ื ืขืืขื - ื ืขืื ืื ืืืขืจื ืคืื ืื ื ืืืขืจ ืคืื ืขืืืืืขืจืก, ื ืึธื ืืืึธืก ืื ืคืึธืืขื ืขื ืืก.
ืึธืคึผืขืจืืืืขืจื - debounceTime
debounceTime - ืืืกืงืึทืจืืื ืืืืืื ืืืึทืืืขืก ืืืึธืก ืคืึทืื ืืื ืื ืกืคึผืขืกืืคืืขื ืฆืืื ืืขืืึทืืขื ืฆืืืืฉื ืึทืืืคึผืืฅ - ื ืึธื ืื ืฆืืื ืืขืืึทืืขื ืืื ืืืจืืืขืืื ืืขื, ืขืืืฅ ืื ืืขืฆืืข ืืืขืจื.
const { Observable } = Rx;
const { debounceTime, take } = RxOperators;
Observable.create((observer) => {
let i = 1;
observer.next(i++);
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 1000ะผั
setInterval(() => {
observer.next(i++)
}, 1000);
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 1500ะผั
setInterval(() => {
observer.next(i++)
}, 1500);
}).pipe(
debounceTime(700), // ะะถะธะดะฐะตะผ 700ะผั ะทะฝะฐัะตะฝะธั ะฟัะตะถะดะต ัะตะผ ะพะฑัะฐะฑะพัะฐัั
take(3)
);
ืึธืคึผืขืจืืืืขืจื - ื ืขืืขื ืืืืืืข
ืขืืืฅ ืืืึทืืืขืก ืืื TakeWhile ืงืขืจื ืคืึทืืฉ, ื ืึธื ืืืึธืก ืขืก ืึทื ืกืึทืืกืงืจืืืื ืคืื ืื ืคืึธืืขื.
const { Observable } = Rx;
const { debounceTime, takeWhile } = RxOperators;
Observable.create((observer) => {
let i = 1;
observer.next(i++);
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 1000ะผั
setInterval(() => {
observer.next(i++)
}, 1000);
}).pipe(
takeWhile( producer => producer < 5 )
);
ืึธืคึผืขืจืืืืขืจื - ืคืึทืจืืื ืื ืืขืฆืืข
ืื ืงืึธืืืื ืืึทืกื ืึธืคึผืขืจืึทืืึธืจ ืืื ืขืคึผืขืก ืขื ืืขื ืฆื ืคึผืจืึธืืืงืข.ืึทืื. ืขืก ืงืึทืืืืื ื ืงืืืคื ืคึฟืขืืขื ืืื ืืืื. ื ืึธื ืืขืืขืจ ืคืึธืืขื ืืืื ืืคึผืืืช ืืืื ืืืืฉืึทื, ืืืจ ืืึทืงืืืขื ืื ืืขืฆืืข ืืืึทืืืขืก ืคืื ืืขืืขืจ ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืขื ืืข. ื ืึธื ืงืืื ืืืืฉืึทื ืคืื ืื ืืขืจืืืฉื ืกืืจืืื, ืขืก ืืืขื ืืขืื ื ืืึทืข ืืืึทืืืขืก.
const { combineLatest, Observable } = Rx;
const { take } = RxOperators;
const observer_1 = Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 1000ะผั
setInterval(() => {
observer.next('a: ' + i++);
}, 1000);
});
const observer_2 = Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 750ะผั
setInterval(() => {
observer.next('b: ' + i++);
}, 750);
});
combineLatest(observer_1, observer_2).pipe(take(5));
ืึธืคึผืขืจืืืืขืจื - ืคืึทืจืฉืืขืกืืขื
ืืืคึผ - ืืืืืฅ ืคึฟืึทืจ ืึท ืืืขืจื ืคืื ืืขืืขืจ ืคืึธืืขื ืืื ืคืืจืืขื ืึท ืืขื ืืข ืืืืืจื ืืืืฃ ืื ืืืึทืืืขืก. ืืืื ืื ืืืขืจื ืงืืื ื ืืฉื ืคืื ืงืืื ืคืึธืืขื, ืื ืืจืืคึผืข ืืืขื ื ืืฉื ืืืื ืืขืฉืืคื.
const { zip, Observable } = Rx;
const { take } = RxOperators;
const observer_1 = Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 1000ะผั
setInterval(() => {
observer.next('a: ' + i++);
}, 1000);
});
const observer_2 = Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 750
setInterval(() => {
observer.next('b: ' + i++);
}, 750);
});
const observer_3 = Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 500
setInterval(() => {
observer.next('c: ' + i++);
}, 500);
});
zip(observer_1, observer_2, observer_3).pipe(take(5));
ืึธืคึผืขืจืืืืขืจื - ืคืึธืจืงืืืฉืึธืื
forkJoin ืืืื ืืืฉืืื ืฅ ืคึฟืขืืขื, ืึธืืขืจ ืขืก ืขืืืฅ ืืืืื ืึท ืืืขืจื ืืืขื ืึทืืข ืคึฟืขืืขื ืืขื ืขื ืืึทื ืฅ.
const { forkJoin, Observable } = Rx;
const { take } = RxOperators;
const observer_1 = Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 1000ะผั
setInterval(() => {
observer.next('a: ' + i++);
}, 1000);
}).pipe(take(3));
const observer_2 = Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 750
setInterval(() => {
observer.next('b: ' + i++);
}, 750);
}).pipe(take(5));
const observer_3 = Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 500
setInterval(() => {
observer.next('c: ' + i++);
}, 500);
}).pipe(take(4));
forkJoin(observer_1, observer_2, observer_3);
ืึธืคึผืขืจืืืืขืจื - ืืึทืคึผืข
ืื ืืึทืคึผืข ืืจืึทื ืกืคืึธืจืืึทืฆืืข ืึธืคึผืขืจืึทืืึธืจ ืคืืจืืืื ืืืขื ืื ืืืืืขืจ ืืืขืจื ืืื ืึท ื ืืึทืข.
const { Observable } = Rx;
const { take, map } = RxOperators;
Observable.create((observer) => {
let i = 1;
// ะัะฟััะบะฐะตะผ ะทะฝะฐัะตะฝะธะต ัะฐะท ะฒ 1000ะผั
setInterval(() => {
observer.next(i++);
}, 1000);
}).pipe(
map(x => x * 10),
take(3)
);
ืึธืคึผืขืจืืืืขืจื - ืืึทื ืืืืื, ืฆืึทืคึผื
ืืขืจ ืฆืึทืคึผื ืึธืคึผืขืจืึทืืึธืจ ืึทืืึทืื ืืืจ ืฆื ืืึธื ืืืึทื ืืคืขืงืฅ, ืืึธืก ืืื ืงืืื ืึทืงืฉืึทื ื ืืืึธืก ืืึธื ื ืื ืืืืจืงื ืื ืกืืงืืืึทื ืก.
ืืขืจ ืึธืคึผืขืจืึทืืึธืจ ืคืื ืืึทื ืืืืื ื ืืฆื ืงืขื ืขื ืืึทืื ืึท ืงืึทืื ืืืึทื ืืื ืึท ืืืืก.
ืืืจ ืืขื ืขื ืคึฟืึทืจืืืง ืืื ืื ืึธืคึผืขืจืืืืขืจื. ืืึธืืืจ ืืืื ืฆื ืื ืืขืืข.
ืืจืืืื ืืืื
ืืื ืืขืืึธืื ืืื ืืขืืื ืืขื ืฆื ืืจืื ืงืขื ืืื. ืืื ืืื ืืื ืคืื ืื ืืืืฉืคืืื ๐
ืขื ืื ืืฉืคึผืื
ืื ืืขืืข ืืฉืคึผืื ืืื ืึท ืืืืคึผื ืืืึทืฉืคึผืื ืคืื ืืืืก ืคืืึธืื. ืื ืงืืืกื ืืขื ืขื ืึท ืืื ืคืื ืืืืืจืื ืืืึธืก ืึทืงื ืกืืืืึทืืืืื ืืึทืกืื ืืื ืึทืืืขืจืืืึทืืึทื ืืื ืึทืืืขืจืืืขืจ. ืืื ื ืื ืืขืืข ืืื ืึท ืืืืก ืคืึธืืขื, ืขืก ืืื ื ืืืืืง ืฆื ืึทืืึธื ืืจื ืืขืจืคืื. ืืืื ืืืจ ืจืขืื ืืืขืื ืื ืืืืคึผื ืืขืืืึธืืก, ืืึธืก ืืขื ืขื:
- ืืืืึทืืขืจ - ืึทืจืืืขืจืคืืจื ืคืื ื ืืึทืข ืืึทืื ืฆื ืื ืืืึทื
- ืืขืืช - ืืขืืช ืืื ืคืึธืืขื ืืขืจืืึทื ืืืฉืึทื
- ืืึทื ืฅ - ืงืึทืืคึผืืืฉืึทื ืคืื ืื ืคืึธืืขื
- ืึทืืึธื ืืจื - ืึทืืึธื ืืจื ืฆื ืึท ืืืึทื
- ืึทื ืกืึทืืกืงืจืืื - ืึทื ืกืึทืืกืงืจืืื ืคืื ืื ืืืึทื
- asObservable - ืืืขืจืืึทืื ืืื ืึท ืึทืืืขืจืืืขืจ
- toPromise - ืคืืจืืืื ืืืขื ืืื ืึท ืฆืืืึธื
ืขืก ืืขื ืขื 4 5 ืืืืคึผืก ืคืื ืกืึทืืืืฉืขืงืฅ.
ืืจืืืื ืืืื
ืขืก ืืขื ืขื ืืขืืืขื 4 ืืขื ืืฉื ืืขืจืขืื ืืืืฃ ืื ืืืึทื, ืึธืืขืจ ืขืก ืืื ืืื ืืื ืฆืืืขืืขืื ืืืื ืขืจ ื ืึธื. ืืื ืืื ืืึธืื, ืืขืื ืืื ืืขืจื ืขื.
ืคึผืฉืื ืืขืืข new Subject()
- ืื ืกืืืคึผืืึทืกื ืืืคึผ ืคืื ืกืึทืืืืฉืขืงืฅ. ืืืฉืืคื ืึธื ืคึผืึทืจืึทืืขืืขืจืก. ืืจืึทื ืกืืืฅ ืืืึทืืืขืก ืืืงืืืขื ืืืืื ื ืึธื ืึทืืึธื ืขืืขื ื.
BehaviorSubject new BehaviorSubject( defaultData<T> )
- ืืื ืืืื ืืืื ืื ื, ืื ืืขืจืกื ืคึผืจืึธืกื ืืืคึผ ืคืื ืืขืืข. ืืขืจ ืึทืจืืึทื ืฉืจืืึทื ื ืขืื ืื ืคืขืืืงืืึทื ืืืขืจื. ืฉืืขื ืืืง ืกืึทืืืขืก ืื ืืึทืื ืคืื ืื ืืขืฆืืข ืึทืจืืืกืืขืื, ืืืึธืก ืืื ืืจืึทื ืกืืืืืขื ืืืขื ืึทืืึธื ืืจื. ืืขืจ ืงืืึทืก ืืืื ืืื ืึท ื ืืฆืืง ืืืขืจื ืืืคึฟื, ืืืึธืก ืงืขืจื ืื ืงืจืึทื ื ืืืขืจื ืคืื ืืขื ืืืึทื.
ReplaySubject new ReplaySubject(bufferSize?: number, windowTime?: number)
- ืืขืจ ืึทืจืืึทื ืฉืจืืึทื ืงืขื ืขื ืึธืคึผืืืึธื ืึทืืื ื ืขืืขื ืืื ืืขืจ ืขืจืฉืืขืจ ืึทืจืืืืขื ื ืื ืืจืืืก ืคืื ืื ืืึทืคืขืจ ืคืื ืืืึทืืืขืก ืืืึธืก ืขืก ืืืขื ืงืจืึธื ืืื ืืื, ืืื ืืื ืื ืจืืข ืื ืฆืืื ืืื ืืืึธืก ืืืจ ืืึทืจืคึฟื ืขื ืืขืจืื ืืขื.
AsyncSubject new AsyncSubject()
- ืืึธืจื ืืฉื ืืึทืคึผืึทื ื ืืืขื ืึทืืึธื ืืจื, ืืื ืื ืืืขืจื ืืืขื ืืืื ืืืืืขืงืขืจื ืืืืื ืืืขื ืืึทื ืฅ. ืืืืื ืื ืืขืฆืืข ืืืขืจื ืคืื ืื ืืืึทื ืืืขื ืืืื ืืืืืขืงืขืจื.
WebSocketSubject new WebSocketSubject(urlConfigOrSource: string | WebSocketSubjectConfig<T> | Observable<T>, destination?: Observer<T>)
โ ืื ืืืงืืืขื ืืืฆืืข ืฉืฐืฒืื ืฐืขืื ืืื ืืื ืืื ืืข ืืื ืฆืื ืขืจืฉืื ืืื. ืืืื ืืืื ืขืจ ืืืืืกื ืืืืก ืขืจ ืืื, ืืืืข ืฉืจืืื ืืื ืืืจ ืืืขืื ืขืก ืฆืืืขืื.
ืคืื. ื ื, ืืืจ ืืึธืื ืืืืขืงื ืึทืืฅ ืืื ืืขืืืืื ืฆื ืืึธืื ืืืจ ืืืึทื ื. ืืื ืืึธืคึฟื ืึทื ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืืขืืืขื ื ืืฆืืง. ืืืจ ืงืขื ืขื ืืืืขื ืขื ืื ืจืฉืืื ืคืื ืืึทืืืืึทืื ืืื ืืื ืื ื ืืฆืืง ืืื ืคึฟืึธืจืืึทืฆืืข ืงืืืืื.
ื ืืฆืืง ืืื ืคึฟืึธืจืืึทืฆืืข
ืืื ืง ืฆื ืกืืจืืืื ื ืืื JS ืึทืจืืขื: ืืืืขืจืืืืง ืคืื ืื ืืึธืืึธืจ, ืจืื ืืืืข ืืขืงืึทื ืืืึทืื, ืจืืคื ืึธื ืืืืื ืืื JS ืึทืจืืขื: ืขืืืขื ื ืืืคึผ, ืึทืกืื ืืฉืจืึธื ื ืืื ืคืื ืฃ ืืืขืื ืฆื ืคึฟืึทืจืืขืกืขืจื ืืืื ืงืึธื ืืื ืึทืกืื ืง / ืืขืจืืืึทืจืื ืืื ืขืืืขื ื ืืืคึผ ืึทืจืืขื ืืื JavaSript ืื ืขืืืึทืืืฉืึทื ืคืื ืึทืกืื ืืฉืจืึธื ืึธืืก ืืืฉืึทืืืึทืกืงืจืืคึผื ืืืึธืก ืืื RxJS ืืื ืืืึธืก ืืื ืขืก ื ืืฆืืง ืฆื ืืืืกื ืืืขืื ืืื?
ืคึผืจืึทืงืืืฉ ืึทืคึผืืึทืงืืืฉืึทื ืคืื RxJS RxJS Observables ืืืืึธืจืืึทื - ืงืจืืืืืื ื ืืื ืึทืืึธื ืืจื ืฆื ืึธืืกืขืจืืืึทืืืขืก RXJS: ืืืืก ืืื ืงืึทืื ืึธืืกืขืจืืืึทืืืขืก ืงืืืกื, ืคืึทื ืืงืฉืึทื ื ืคึฟืึทืจ ืงืจืืืืืื ื ืึธืืกืขืจืืืึทืืืข. ืึธืคึผืขืจืืืืขืจื. RxJS ืึธืคึผืขืจืืืืขืจื ืืืจื ืืืึทืฉืคึผืื ืึทืคึผื ืจืฉืืื ืืืขืจืืืึทืืื ืคืื ืืขืืข ืืื ืกืงืขืืืฉืืื ืืื RxJS
ืืงืืจ: www.habr.com