แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แฒกแƒแƒšแƒแƒ›แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒก. แƒกแƒ”แƒ แƒ’แƒ”แƒ˜ แƒแƒ›แƒ”แƒšแƒœแƒ˜แƒชแƒ™แƒ˜ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ. แƒชแƒแƒขแƒ แƒฎแƒœแƒ˜แƒก แƒฌแƒ˜แƒœ แƒ›แƒ” แƒ•แƒฃแƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒšแƒ” แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒก แƒ แƒ”แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒกแƒแƒ“แƒแƒช แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ” แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ‘แƒแƒ–แƒ” JavaScript-แƒจแƒ˜. แƒ“แƒฆแƒ”แƒก แƒ›แƒกแƒฃแƒ แƒก แƒแƒ› แƒ›แƒแƒกแƒแƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒœแƒแƒ› แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ›แƒแƒกแƒแƒšแƒแƒก แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ—, แƒจแƒ”แƒกแƒแƒ•แƒแƒšแƒ˜ แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ—. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒ’แƒแƒœแƒ›แƒแƒ แƒขแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—: แƒ แƒ แƒแƒ แƒ˜แƒก แƒกแƒขแƒ”แƒ™แƒ˜ แƒ“แƒ แƒ แƒ˜แƒ’แƒ˜?

แƒ“แƒแƒกแƒขแƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ‘แƒแƒšแƒ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒ•แƒšแƒ˜แƒก LIFO แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”

แƒ แƒ˜แƒ’แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก, แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒ•แƒšแƒ˜แƒก FIFO แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”

แƒ™แƒแƒ แƒ’แƒ˜, แƒ’แƒแƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒแƒ—.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

JavaScript แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—แƒœแƒแƒ™แƒแƒ“แƒ˜แƒแƒœแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒซแƒแƒคแƒ˜ แƒ“แƒ แƒ”แƒ แƒ—แƒ˜ แƒ“แƒแƒกแƒขแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ’แƒแƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“. แƒแƒ›แƒ˜แƒขแƒแƒ›, JavaScript-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒฎแƒแƒšแƒ แƒกแƒฎแƒ•แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒ—แƒแƒ•แƒ˜แƒก แƒ แƒ˜แƒ’แƒก แƒกแƒขแƒ”แƒ™แƒ–แƒ”, แƒกแƒแƒœแƒแƒ› แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒซแƒแƒฎแƒ”แƒ‘แƒ”แƒœ.

แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒ แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช, แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ˜แƒฌแƒ”แƒ แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒ˜แƒ› แƒแƒ“แƒ’แƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒแƒจแƒ˜, แƒกแƒแƒ“แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ แƒ—. แƒ—แƒฃ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ—, แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒ•แƒšแƒแƒก แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒ–แƒ”แƒ“แƒ แƒœแƒแƒฌแƒ˜แƒšแƒจแƒ˜. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ•แƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒ“แƒแƒœ, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒคแƒ— แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ–แƒ”แƒ“แƒ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒก แƒ“แƒแƒกแƒขแƒแƒ“แƒแƒœ แƒ“แƒ แƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ— แƒ˜แƒฅ, แƒกแƒแƒ“แƒแƒช แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒ•แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ—. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒ˜แƒกแƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒแƒช แƒกแƒขแƒ”แƒ™แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ. แƒแƒฎแƒšแƒ แƒ™แƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ. แƒ›แƒแƒจแƒ˜แƒœ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ‘แƒ JavasScript-แƒจแƒ˜?

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ, แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒ˜แƒ’แƒ˜ แƒ”.แƒฌ. WebAPI-แƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒแƒ› แƒ แƒ˜แƒ’แƒจแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒแƒช แƒ“แƒแƒกแƒขแƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ“แƒ”แƒ‘แƒ. แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒ˜แƒ’แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒกแƒขแƒแƒ–แƒ” แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“. แƒ—แƒฃ แƒ“แƒแƒกแƒขแƒแƒ–แƒ” แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ—แƒ˜ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒแƒœ แƒกแƒขแƒ”แƒ™แƒ–แƒ”. แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ˜แƒก แƒแƒ›แƒแƒฌแƒฃแƒ แƒ•แƒ˜แƒ— แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒ แƒแƒ–แƒฃแƒกแƒขแƒ˜แƒ, แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ•แƒ“แƒ”แƒ‘แƒ แƒ แƒ˜แƒ’แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒกแƒขแƒแƒ›แƒ“แƒ”, แƒกแƒแƒœแƒแƒ› แƒ˜แƒก แƒกแƒแƒ•แƒกแƒ”แƒ.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก แƒ“แƒ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ”แƒขแƒแƒžแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ. แƒ•แƒœแƒแƒฎแƒแƒ— แƒแƒกแƒ”แƒ•แƒ” แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜.

console.log('Hi');
setTimeout(function cb1() {
    console.log('cb1');
}, 5000);
console.log('Bye');

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

1) แƒฏแƒ”แƒ  แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ. แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒ˜ แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ, แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜แƒ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

2) แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ console.log('Hi') แƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒก.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

3) แƒ“แƒ แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

4) แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ console.log('Hi') แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒ“แƒแƒœ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

5) แƒแƒฎแƒšแƒ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒ–แƒ” setTimeout (แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ cb1() {โ€ฆ }). แƒ˜แƒก แƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ–แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒก.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

6) setTimeout(แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ cb1() {โ€ฆ }) แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜ แƒฅแƒ›แƒœแƒ˜แƒก แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก แƒ•แƒ”แƒ‘ API-แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜. แƒ˜แƒก แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒฃแƒ™แƒฃแƒ—แƒ•แƒšแƒแƒก.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

7) setTimeout(function cb1() {โ€ฆ }) แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒ› แƒ“แƒแƒแƒกแƒ แƒฃแƒšแƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ“แƒ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒ“แƒแƒœ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

8) แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ console.log('Bye') แƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒก.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

9) console.log('Bye') แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

10) แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ console.log('Bye') แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒ“แƒแƒœ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

11) แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒแƒช แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› 5000 ms แƒ’แƒแƒ•แƒ˜แƒ“แƒ, แƒขแƒแƒ˜แƒ›แƒ”แƒ แƒ˜ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก cb1 แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒแƒก แƒฃแƒ™แƒฃแƒ แƒ”แƒ™แƒ•แƒ˜แƒก แƒ แƒ˜แƒ’แƒจแƒ˜.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

12) แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒก แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ˜ แƒ˜แƒฆแƒ”แƒ‘แƒก cb1 แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒก แƒ แƒ˜แƒ’แƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒฃแƒ‘แƒ˜แƒซแƒ’แƒ”แƒ‘แƒก แƒ›แƒแƒก แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒ–แƒ”.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

13) แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ cb1 แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒแƒ›แƒแƒขแƒ”แƒ‘แƒก console.log('cb1') แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒก.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

14) แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ console.log('cb1') แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

15) แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ console.log('cb1') แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒ“แƒแƒœ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

16) แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ cb1 แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ–แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒ“แƒแƒœ.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒ™แƒแƒจแƒ˜:

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒ™แƒแƒ แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒ”แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ‘แƒ JavaScript-แƒจแƒ˜. แƒแƒฎแƒšแƒ แƒ›แƒแƒ™แƒšแƒ”แƒ“ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒแƒ— แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ”แƒ•แƒแƒšแƒฃแƒชแƒ˜แƒแƒ–แƒ”.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ”แƒ•แƒแƒšแƒฃแƒชแƒ˜แƒ.

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);
                    })
                })
            })
        })
    })
});

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒชแƒ˜แƒ— JavaScript-แƒจแƒ˜, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ“แƒแƒ”แƒชแƒ”แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒกแƒฎแƒ•แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก. แƒแƒกแƒ” แƒ“แƒแƒ˜แƒ‘แƒแƒ“แƒ แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ”แƒ‘แƒ˜. แƒ“แƒ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒ’แƒแƒ แƒ˜, แƒ›แƒฎแƒ˜แƒแƒ แƒฃแƒšแƒ˜ แƒ“แƒ แƒ›แƒฎแƒ˜แƒแƒ แƒฃแƒšแƒ˜, แƒกแƒแƒœแƒแƒ› แƒแƒ  แƒ’แƒแƒ“แƒแƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒกแƒ”แƒ•แƒ“แƒแƒจแƒ˜, แƒกแƒ”แƒ•แƒ“แƒแƒจแƒ˜ แƒ“แƒ แƒกแƒ”แƒ•แƒ“แƒแƒจแƒ˜. แƒ แƒแƒขแƒแƒ›? แฒ”แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ:

  • แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ˜แƒก แƒ›แƒแƒขแƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒ‘แƒฃแƒœแƒ“แƒแƒ•แƒแƒœ, แƒแƒ แƒแƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒฉแƒแƒ“แƒ’แƒ›แƒฃแƒš แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒแƒ“ - โ€žแƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒฏแƒแƒฏแƒแƒฎแƒ”แƒ—แƒ˜โ€œ.
  • แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒแƒ—.
  • แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒแƒ— แƒ’แƒแƒ›แƒแƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒ—.

Promise-แƒ˜แƒก แƒ›แƒแƒกแƒ•แƒšแƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ แƒแƒ“แƒœแƒแƒ• แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ“แƒ.

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-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—
  • แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ“แƒแƒ•แƒญแƒ แƒแƒ— แƒฉแƒแƒ“แƒ’แƒ›แƒฃแƒšแƒ˜ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒแƒ‘แƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก/แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ“แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ”แƒ‘แƒก แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜ แƒแƒฅแƒ•แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ“แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒฃแƒฅแƒ›แƒ“แƒ”แƒก แƒขแƒแƒ›แƒ‘แƒฃแƒ แƒ˜แƒ— แƒชแƒ”แƒ™แƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ“แƒ แƒ แƒแƒช แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜แƒ, แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ”แƒ แƒ—แƒ˜ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—.

แƒ™แƒแƒ แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒฃแƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒšแƒแƒ“ แƒ›แƒ˜แƒ•แƒฃแƒแƒฎแƒšแƒแƒ•แƒ“แƒ˜แƒ— แƒ แƒ”แƒแƒฅแƒขแƒ˜แƒฃแƒš แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒแƒก. แƒ“แƒแƒ˜แƒฆแƒแƒšแƒ? แƒ™แƒแƒ แƒ’แƒ˜, แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒ แƒฌแƒแƒฎแƒ•แƒ˜แƒ“แƒ” แƒฉแƒแƒ˜แƒก แƒ“แƒแƒšแƒ”แƒ•แƒ, แƒ“แƒแƒคแƒ˜แƒฅแƒ แƒ“แƒ” แƒ“แƒ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ” แƒ“แƒ แƒ›แƒ”แƒขแƒ˜ แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ. แƒ“แƒ แƒ’แƒแƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒ แƒ”แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒโ€Š- แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒ“แƒ˜แƒ’แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒ”แƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒแƒ–แƒ”. แƒ›แƒแƒ“แƒ˜แƒ— แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ แƒ แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜.

// ะŸะพะปัƒั‡ะฐะตะผ ััั‹ะปะบัƒ ะฝะฐ ัะปะตะผะตะฝั‚
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)
)

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒœแƒแƒ™แƒแƒ“แƒ˜โ€Šแƒแƒ แƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ“แƒ”แƒก, แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ. แƒแƒฎแƒšแƒ แƒฌแƒแƒ แƒ›แƒแƒ˜แƒ“แƒ’แƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒแƒก แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒœแƒแƒฌแƒ˜แƒšแƒจแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ•แƒฌแƒ”แƒ แƒ— แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒก แƒ“แƒ แƒ˜แƒก แƒจแƒ”แƒ’แƒ•แƒแƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜. แƒ“แƒ RxJs แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

RxJS แƒแƒ แƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒš แƒ“แƒ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒš แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒ˜ แƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒขแƒ˜แƒžแƒก แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒแƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” แƒขแƒ˜แƒžแƒ˜ (แƒ“แƒแƒ›แƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜, แƒ’แƒแƒœแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ˜, แƒกแƒฃแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜) แƒ“แƒ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ—แƒแƒœ, แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒ แƒฃแƒ™แƒ, แƒคแƒ˜แƒšแƒขแƒ แƒ˜, แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒ, แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒ“แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ JavaScript Array-แƒ“แƒแƒœ).

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒ˜แƒ’แƒแƒ— แƒแƒ› แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒชแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜.

แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒ˜, แƒ“แƒแƒ›แƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜, แƒžแƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ”แƒ แƒ˜

แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒ˜ แƒแƒ แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ‘แƒแƒ–แƒ˜แƒก แƒขแƒ˜แƒžแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ—. แƒ”แƒก แƒ™แƒšแƒแƒกแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก RxJs แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒœแƒแƒฌแƒ˜แƒšแƒก. แƒ˜แƒก แƒแƒกแƒแƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“ แƒœแƒแƒ™แƒแƒ“แƒ—แƒแƒœ, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

Observable แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒก, แƒ”.แƒฌ แƒ“แƒแƒ›แƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒ”แƒšแƒ—แƒ. Observer-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒแƒ แƒ แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒฌแƒ˜แƒ—แƒ”แƒšแƒ˜ แƒ›แƒจแƒ แƒแƒšแƒ˜ แƒฆแƒ•แƒ˜แƒœแƒ. แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜, แƒ˜แƒขแƒ”แƒ แƒแƒขแƒแƒ แƒ˜, แƒ•แƒ”แƒ‘ แƒกแƒแƒ™แƒ”แƒขแƒ˜, แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ แƒ“แƒ แƒ.แƒจ. แƒแƒกแƒ” แƒ แƒแƒ›, แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ แƒแƒ› แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒ˜ แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒขแƒแƒ แƒ˜ แƒžแƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ”แƒ แƒกแƒ แƒ“แƒ แƒ“แƒแƒ›แƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒ”แƒšแƒก แƒจแƒแƒ แƒ˜แƒก.

Observable แƒ›แƒแƒ แƒ—แƒแƒ•แƒก แƒกแƒแƒ›แƒ˜ แƒกแƒแƒฎแƒ˜แƒก แƒ“แƒแƒ›แƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒก:

  • แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ - แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜
  • แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ - แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ, แƒ—แƒฃ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ แƒจแƒ”แƒฌแƒงแƒ“แƒ แƒ’แƒแƒ›แƒแƒœแƒแƒ™แƒšแƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ”แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘แƒก แƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒก.
  • แƒกแƒ แƒฃแƒšแƒ˜ - แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒฆแƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ.

แƒ•แƒœแƒแƒฎแƒแƒ— แƒ“แƒ”แƒ›แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ:

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก 1, 2, 3 แƒ“แƒ 1 แƒฌแƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— 4-แƒก แƒ“แƒ แƒ“แƒแƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒœแƒแƒ™แƒแƒ“แƒก.

แƒฎแƒ›แƒแƒ›แƒแƒฆแƒšแƒ แƒคแƒ˜แƒฅแƒ แƒ˜

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒ•แƒฎแƒ•แƒ“แƒ˜, แƒ แƒแƒ› แƒแƒ›แƒ˜แƒก แƒ—แƒฅแƒ›แƒ แƒฃแƒคแƒ แƒ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ˜แƒงแƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒฌแƒ”แƒ แƒ. ๐Ÿ˜€

แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฌแƒ”แƒ แƒ— แƒœแƒแƒ™แƒแƒ“แƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒแƒฎแƒแƒš แƒ™แƒšแƒแƒกแƒก แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒแƒ แƒแƒช แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ—. แƒ˜แƒกแƒ”, แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜แƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ•แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒแƒ— แƒซแƒแƒคแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒแƒ›แƒแƒ˜แƒฆแƒแƒœ. แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒฌแƒแƒจแƒšแƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒ˜ แƒ˜แƒฆแƒ”แƒ‘แƒ”แƒœ แƒกแƒฎแƒ•แƒ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒแƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒ“. แƒ›แƒ˜แƒœแƒ“แƒ แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒกแƒœแƒ˜แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ‘แƒแƒ•แƒจแƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒแƒก, แƒ—แƒ˜แƒ—แƒฅแƒแƒก แƒ›แƒแƒ— แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒฌแƒแƒ“แƒ”แƒก แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒ. แฒ’แƒแƒœแƒแƒ’แƒ แƒซแƒ”.

แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒ”แƒ‘แƒ˜

แƒชแƒฎแƒ”แƒšแƒ˜
แฒชแฒ˜แฒ•แฒ˜

แƒžแƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ”แƒ แƒ˜ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ›แƒ
แƒžแƒ แƒแƒ“แƒ˜แƒฃแƒกแƒ”แƒ แƒ˜ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒ˜ แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒ แƒแƒก
แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒ แƒแƒก.

แƒ›แƒ”แƒขแƒ˜ แƒšแƒแƒ’แƒ˜แƒ™แƒแƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒšแƒแƒ“
แƒ—แƒ”แƒ›แƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒฌแƒงแƒ“แƒ”แƒ‘แƒ

แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ‘แƒ”แƒ•แƒ  แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒแƒก
แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ”แƒ แƒ—แƒ”แƒ แƒ— แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒแƒก

แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒแƒก แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒฅแƒ•แƒก
แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒ™แƒแƒ แƒ’แƒแƒก, แƒ—แƒฃ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ แƒแƒ  แƒแƒ แƒ˜แƒก
แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒกแƒชแƒ”แƒ›แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒแƒœแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒ แƒแƒ› แƒ›แƒแƒ•แƒ˜แƒงแƒ•แƒแƒœ, แƒชแƒฎแƒ”แƒš แƒœแƒแƒ™แƒแƒ“แƒก แƒ›แƒแƒ•แƒ˜แƒคแƒ˜แƒฅแƒ แƒ”แƒ‘, แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ˜แƒœแƒแƒก แƒ—แƒ”แƒแƒขแƒ แƒจแƒ˜. แƒ“แƒ แƒแƒ˜แƒก แƒ แƒแƒ›แƒ”แƒš แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒฉแƒแƒ›แƒแƒฎแƒ•แƒ”แƒ“แƒ˜, แƒ˜แƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ˜แƒ“แƒแƒœ แƒ“แƒแƒ˜แƒฌแƒงแƒ” แƒงแƒฃแƒ แƒ”แƒ‘แƒ. แƒ›แƒ” แƒจแƒ”แƒ•แƒแƒ“แƒแƒ แƒ”แƒ‘แƒ“แƒ˜ แƒชแƒ˜แƒ• แƒœแƒแƒ™แƒแƒ“แƒก แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ  แƒ–แƒแƒ แƒก. แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ. แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒแƒ‘แƒแƒœแƒ”แƒœแƒขแƒ˜ แƒฃแƒกแƒ›แƒ”แƒœแƒก แƒฎแƒ›แƒแƒ•แƒแƒœแƒ˜ แƒคแƒแƒกแƒขแƒ˜แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒ‘แƒแƒšแƒแƒ›แƒ“แƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ—แƒ˜แƒจแƒแƒ— แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒ˜แƒ—.

แƒ›แƒ˜แƒœแƒ“แƒ แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ, แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒ”แƒ’แƒ แƒ”แƒ— แƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒ‘แƒ˜แƒšแƒ˜ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒช (แƒแƒกแƒ”แƒ—แƒ˜ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ˜แƒจแƒ•แƒ˜แƒแƒ—แƒแƒ“ แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฃแƒชแƒฎแƒ แƒ—แƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒ›แƒฎแƒ•แƒ”แƒ“แƒ แƒ˜แƒ) - แƒ”แƒก แƒแƒ แƒ˜แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒชแƒ˜แƒ•แƒ˜ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ แƒชแƒฎแƒ”แƒšแƒจแƒ˜ แƒ’แƒแƒ แƒ“แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ. แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ - แƒกแƒแƒ“ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ—)) แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก แƒ›แƒแƒ•แƒ˜แƒงแƒ•แƒแƒœ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒ˜แƒ“แƒแƒœ.

แƒ›แƒ” แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘ Angular-แƒ—แƒแƒœ. แƒ˜แƒก แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก 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)
    );

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒ”แƒœ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒ’แƒแƒ•แƒแƒคแƒแƒ แƒ—แƒแƒ•แƒแƒ— แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒแƒœ แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒจแƒ˜ แƒ›แƒแƒ›แƒฎแƒ“แƒแƒ แƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒก. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒก แƒ“แƒ แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ - แƒ“แƒแƒœ

แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒ“แƒแƒ›แƒฎแƒ›แƒแƒ แƒ” แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒ—. แƒ˜แƒก แƒฅแƒ›แƒœแƒ˜แƒก Observable-แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ - แƒคแƒ˜แƒšแƒขแƒ แƒ˜

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒคแƒ˜แƒšแƒขแƒ แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก, แƒคแƒ˜แƒšแƒขแƒ แƒแƒ•แƒก แƒœแƒแƒ™แƒแƒ“แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒก. แƒ—แƒฃ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก true, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒ‘แƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›.

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ - แƒ˜แƒฆแƒ”แƒ‘แƒ”แƒœ

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

take โ€” แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ”แƒ›แƒ˜แƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒซแƒแƒคแƒ˜ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ.

Operators-debounceTime

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

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)
);  

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜-takeWhile

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒแƒกแƒฎแƒ˜แƒ•แƒ”แƒ‘แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก, แƒกแƒแƒœแƒแƒ› takeWhile แƒแƒ  แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก false-แƒก, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ˜แƒก แƒ’แƒแƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒก แƒ—แƒ”แƒ›แƒแƒก.

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 )
);  

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ - combinationLatest

แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ combineLatest แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒฌแƒ˜แƒšแƒแƒ“ แƒฐแƒ’แƒแƒ•แƒก soz.all-แƒก. แƒ˜แƒก แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒก แƒ›แƒ แƒแƒ•แƒแƒš แƒœแƒแƒ™แƒแƒ“แƒก แƒ”แƒ แƒ—แƒจแƒ˜. แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒแƒช แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒซแƒแƒคแƒก แƒแƒฅแƒ•แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒฎแƒ˜แƒ•แƒ”แƒ‘แƒ, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒฃแƒแƒฎแƒšแƒ”แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒฎแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ˜แƒก แƒ›แƒ˜แƒกแƒชแƒ”แƒ›แƒก แƒแƒฎแƒแƒš แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

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));

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜-zip

Zip - แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒซแƒแƒคแƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ”แƒ‘แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒก แƒแƒ› แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”. แƒ—แƒฃ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒ  แƒ›แƒแƒ“แƒ˜แƒก แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒซแƒแƒคแƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒจแƒ˜แƒœ แƒฏแƒ’แƒฃแƒคแƒ˜ แƒแƒ  แƒฉแƒแƒ›แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ“แƒ”แƒ‘แƒ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

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));

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ - forkJoin

forkJoin แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒ”แƒ แƒ—แƒ“แƒ”แƒ‘แƒ แƒซแƒแƒคแƒ”แƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒงแƒ•แƒ”แƒšแƒ แƒ—แƒ”แƒ›แƒ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

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);

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒ

แƒ แƒฃแƒ™แƒ˜แƒก แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ แƒ’แƒแƒ แƒ“แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒ”แƒ›แƒ˜แƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก แƒแƒฎแƒแƒšแƒจแƒ˜.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

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)
);

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ - แƒ’แƒแƒแƒ–แƒ˜แƒแƒ แƒ”แƒ—, แƒจแƒ”แƒ”แƒฎแƒ”แƒ—

แƒแƒœแƒ™แƒแƒœแƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—แƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜, แƒแƒœแƒฃ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒแƒ–แƒ”.

แƒฌแƒ˜แƒšแƒ˜ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒชแƒ˜แƒ•แƒ˜ แƒœแƒแƒ™แƒแƒ“แƒ˜ แƒ’แƒแƒ“แƒแƒแƒฅแƒชแƒ˜แƒแƒก แƒชแƒฎแƒ”แƒš แƒœแƒแƒ™แƒแƒ“แƒแƒ“.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ JavaScript-แƒจแƒ˜ (Callback, Promise, RxJs)

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒ—แƒแƒœ. แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ—แƒ”แƒ›แƒแƒ–แƒ”.

แƒฎแƒ›แƒแƒ›แƒแƒฆแƒšแƒ แƒคแƒ˜แƒฅแƒ แƒ˜

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฌแƒแƒ•แƒ”แƒ“แƒ˜ แƒฉแƒแƒ˜แƒก แƒ“แƒแƒกแƒแƒšแƒ”แƒ•แƒแƒ“. แƒ“แƒแƒ•แƒ˜แƒฆแƒแƒšแƒ” แƒแƒ› แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— ๐Ÿ˜€

แƒกแƒแƒ’แƒœแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒแƒฏแƒแƒฎแƒ˜

แƒกแƒแƒ’แƒœแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒแƒฏแƒแƒฎแƒ˜ แƒชแƒฎแƒ”แƒšแƒ˜ แƒซแƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ. แƒ”แƒก แƒ™แƒšแƒแƒกแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ’แƒ•แƒแƒ แƒ˜ แƒฐแƒ˜แƒ‘แƒ แƒ˜แƒ“แƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒแƒ“แƒ˜ แƒ“แƒ แƒ“แƒแƒ›แƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒ”แƒšแƒ˜. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ—แƒ”แƒ›แƒ แƒแƒ แƒ˜แƒก แƒชแƒฎแƒ”แƒšแƒ˜ แƒœแƒแƒ™แƒแƒ“แƒ˜, แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฃแƒฅแƒ›แƒ“แƒ”แƒก. แƒ—แƒฃ แƒ•แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒ— แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒ–แƒ”, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒกแƒ”แƒœแƒ˜แƒ:

  • แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ - แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ แƒœแƒแƒ™แƒแƒ“แƒจแƒ˜
  • แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ - แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒ“แƒ แƒซแƒแƒคแƒ˜แƒก แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ
  • แƒกแƒ แƒฃแƒšแƒ˜ - แƒซแƒแƒคแƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ
  • แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ - แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ”แƒ แƒ”แƒ— แƒœแƒแƒ™แƒแƒ“แƒ˜
  • แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒ - แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜แƒ“แƒแƒœ
  • asobservable - แƒ’แƒแƒ“แƒแƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒ“แƒแƒ›แƒ™แƒ•แƒ˜แƒ แƒ•แƒ”แƒ‘แƒšแƒแƒ“
  • toPromise - แƒ’แƒแƒ แƒ“แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ“แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒแƒ“

แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก 4 5 แƒขแƒ˜แƒžแƒ˜แƒก แƒกแƒแƒ’แƒแƒœแƒ˜.

แƒฎแƒ›แƒแƒ›แƒแƒฆแƒšแƒ แƒคแƒ˜แƒฅแƒ แƒ˜

แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ–แƒ” 4 แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜ แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒ“แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฃแƒ แƒ›แƒ” แƒ”แƒ แƒ—แƒ˜ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒก. แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ›แƒ‘แƒแƒ‘แƒ”แƒœ, แƒ˜แƒชแƒฎแƒแƒ•แƒ แƒ” แƒ“แƒ แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ”.

แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒกแƒแƒ’แƒแƒœแƒ˜ new Subject()- แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒ˜ แƒกแƒแƒฎแƒ˜แƒก แƒกแƒแƒ’แƒœแƒ”แƒ‘แƒ˜. แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ’แƒแƒ“แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒแƒ•แƒ˜แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

แƒฅแƒชแƒ”แƒ•แƒ˜แƒก แƒกแƒแƒ’แƒแƒœแƒ˜ 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>) - แƒ›แƒแƒกแƒ–แƒ” แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ“แƒฃแƒ›แƒก แƒ“แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ•แƒœแƒแƒฎแƒ”. แƒ—แƒฃ แƒ•แƒ˜แƒœแƒ›แƒ”แƒ› แƒ˜แƒชแƒ˜แƒก แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ“แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ—.

แƒคแƒฃ. แƒ™แƒแƒ แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒ˜แƒกแƒ˜ แƒ—แƒฅแƒ›แƒแƒช แƒ›แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒ“แƒฆแƒ”แƒก. แƒ˜แƒ›แƒ”แƒ“แƒ˜แƒ แƒ”แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ˜แƒงแƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ— แƒšแƒ˜แƒขแƒ”แƒ แƒแƒขแƒฃแƒ แƒ˜แƒก แƒกแƒ˜แƒ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒšแƒแƒ“ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒฉแƒแƒœแƒแƒ แƒ—แƒจแƒ˜.

แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ