RxJs v6 kullanarak Mayıs 2019'u güncelleyin
Diğer cevapları yararlı buldu ve Arnaud'un şu konu hakkında sunduğu cevaba bir örnek sunmak istedim zip
kullanımla .
Burada Promise.all
ve rxjs arasındaki eşdeğerliği gösteren bir pasaj zip
(ayrıca, rxjs6'da zip'in artık bir operatör olarak değil "rxjs" kullanılarak nasıl içe aktarıldığına dikkat edin).
import { zip } from "rxjs";
const the_weather = new Promise(resolve => {
setTimeout(() => {
resolve({ temp: 29, conditions: "Sunny with Clouds" });
}, 2000);
});
const the_tweets = new Promise(resolve => {
setTimeout(() => {
resolve(["I like cake", "BBQ is good too!"]);
}, 500);
});
let source$ = zip(the_weather, the_tweets);
source$.subscribe(([weatherInfo, tweetInfo]) =>
console.log(weatherInfo, tweetInfo)
);
Promise.all([the_weather, the_tweets]).then(responses => {
const [weatherInfo, tweetInfo] = responses;
console.log(weatherInfo, tweetInfo);
});
Her ikisinin de çıkışı aynı. Yukarıdakileri çalıştırmak şunu verir:
{ temp: 29, conditions: 'Sunny with Clouds' } [ 'I like cake', 'BBQ is good too!' ]
{ temp: 29, conditions: 'Sunny with Clouds' } [ 'I like cake', 'BBQ is good too!' ]