我目前正在努力弄清楚Angular 4應用程序中Rxjs的行爲。訂閱在當時發出一個項目而不是在Rxjs中的列表
我的代碼是:
this.server.get("incidents") //http get resource
.flatMap((res) => res.value) //the incident array is in a property called value of the json returned
.map((incident) => new Incident(incident)) // conversion from json to typed class
.subscribe(i => {this.ng2TableData.push(i);}) //subscribe
在最後一行,我希望訂閱方法立刻提供給我的整個列表,而不是它似乎obsevable被返回的時候一個Incident
和訂閱功能稱爲N次,因此迫使我採用push
方法,而不是一次構建ng2TableData
。
我該如何訂閱整個列表,而不是當時的一個項目?
那麼不要使用'flatMap',因爲'flatMap'會將你的數組值平化爲一個可觀察的值流。 – Alex
爲什麼你甚至首先使用flatMap? –
但是,如果我使用map而不是flatmap,那麼在第二張地圖中,我將輸入的是整個數組而不是單個事件。用map而不是flatmap來做這件事的正確方法是什麼? – LucaV