我有數組,其中的類指令有一個execute()函數,返回一個Observable。 execute函數將執行一個異步任務,當它完成時,它會調用myObserver.complete(),它應該觸發列表中的下一條指令,以調用它的execute()函數。我不知道如何做到這一點。如何使用TypeScript和RxJs連續執行一系列指令?
我正在實施所有這些,所以我願意接受任何建議,包括改變我設置我的教學課程的方式。主要目標是我需要按順序在每個指令異步執行方法中運行代碼。當指令完成執行時,移動到列表中的下一個,直到所有內容都被執行完畢。
目前我通過遞歸來做到這一點,我通過指令列表,然後索引我目前正在處理的指令。完成後,我將索引增加1並再次調用自己。雖然這有效,但必須有更好的方法,但我還沒有拿出一個。思考?
這看起來像它會爲我用的情況下工作,但我不知道如何與打字稿做到這一點。我試過:Observable.from(指令).concatMap((指令:指令)=> {0}返回instruction.execute(); });這抱怨道:「提供的參數不匹配呼叫目標的任何簽名」 – testing123
啊,有一個fromArray。現在嘗試一下。 – testing123
好吧,我不能用'打字稿',但錯誤信息很清楚。檢查您的呼叫目標的簽名和您提供的物品的類型,這真的很簡單...對於SO的調試問題,建議提供一個重現錯誤的示例代碼。關於'fromArray',它在Rxjs 4中,我認爲它也適用於Rxjs 5,但不要拿我的話來說。檢查文檔 – user3743222