在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML5  網(wǎng)絡(luò)安全  HTML/ Rxjs的pipe怎么像Promise的then一樣等待ajax結(jié)束才繼續(xù)?

Rxjs的pipe怎么像Promise的then一樣等待ajax結(jié)束才繼續(xù)?

請(qǐng)問(wèn)在Angular中,如果一個(gè)請(qǐng)求依賴于另外一個(gè)請(qǐng)求的結(jié)果,用Rxjs該怎么處理呢?

this.getOne().then(data => {
  // 這里返回另外一個(gè)Promise
  return this.getTwo(data);
}).then(data => {
  console.log(data);  // 這里打印第二個(gè)Promise的值
  return this.getThree(data);
}).then(data => {
  console.log(data); // 這里打印第三個(gè)Promise的值
})

上面是用Promise實(shí)現(xiàn)的效果,請(qǐng)問(wèn)用Rxjs的pipe怎么達(dá)到類似的目的呢?

回答
編輯回答
別逞強(qiáng)

mergeMap:

from(this.getOne)
    .pipe(
        mergeMap(oneData => {
            console.log(oneData)
            return from(this.getTwo)
        }),
        mergeMap(twoData => {
            console.log(twoData)
            return from(this.getThree)
        })
    )
    .subscribe(threeData => {
        console.log(threeData)
        ...
    })
2018年9月22日 13:47