我想了解如何將觀察到的映射到循環Typescript + RxJS:如何映射一個observable來運行一個循環?
的代碼看起來是這樣的:
let count = now.getFullYear() - this.startYear + 1;
let start = this.startYear;
let allYears = Array.apply(0, Array(count))
.map(function (element, index) {
return index + start;
});
// from is in `import {from} from "rxjs/observable/from";`
let yearEmitter = from(allYears);
let createCustomer = this.customerService.create(); // an http call to return a customer in Json
let createMember = createCustomer.map(c => this.customerService.createMember(c["customerId"])); // an http call to return a member in Json
createMember.map(member=> {
// ??? what can I do here?
// I need to map it to another observable here for every year
})
基本上,創建的成員,我想運行從一開始一年一個報告今年。我不能做allYear.foreach(i => createMember.map(blab))
,因爲這似乎會多次調用createMember。
小結,樣品數據可能是:startYear = 2015
,
然後當返回createMember
,它應該包含一個MEMBERID,它可以被用來生成報告(我需要產生用於測試的新成員報告樣本目的)。
因此,在(2015, 2016, 2017)
的範圍內,我想映射新成員以遍歷該列表中的項目,並進行另一個http調用以創建示例報告。我不需要任何輸出,我只需要多次鏈接createMember
可觀察,但理想情況下,我只想將createMember
http調用一次。
希望它現在更有意義。
好吧,我認爲我可能會過度譴責它。
我只能做createMember.subscribe
,然後循環。/facepalm
我在思考的方式,我可以flatMap
那東西,然後循環它在理解。我想我不必
'讓createCustomer'是可觀察到的?如果是這樣,它擁有什麼樣的內容? 1個發射與陣列,1個發射與物體?多重排放? - 另外:如果你可以添加一個例子,說明你希望結果如何看起來像 – olsn
對不起,請允許我添加更多詳細信息 – sowen
對不起,我還是不完全明白,你到底想要做什麼 - 但它看起來應該是一個非常簡單的案例,你可能已經找到了一個解決方案 - 如果你有請將它作爲答案發布並接受你自己的答案:-) – olsn