2017-02-21 56 views
0

我正在嘗試執行以下操作,但我在第二個for循環中的monthData下發生了語法錯誤。從{} []到陣列的訂閱的類型轉換返回類型<Array<any>>

Observable.forkJoin(observableArray) 
    .subscribe(monthArray => { 

    console.log(monthArray) 

    for (let monthData of monthArray) { 
     for (let dataEntry of monthData) { 
     // do somehting with dataEntry which is an object 
     } 
    } 
    } 

它抱怨並

類型{}不是數組類型或字符串類型

因此,當我懸停在monthArray,它的類型爲{} [] 。

然而,我100%確保返回monthArray是類型陣列的陣列中示出的圖像

screen shot

在有一種方法,以從{} []到

投monthArray

Array<Array<any>>>

回答

0

我很驚訝的類型是錯在這裏,RXJS5設計了打字稿中頭腦,通常有非常好的類型。然而,你應該能夠做這樣的事,你的情況:

Observable.forkJoin(observableArray) 
    .subscribe(arr => { 
    const monthArray = arr as Array<Array<any>>; 
    for (let monthData of monthArray) { 
     for (let dataEntry of monthData) { 
     // do somehting with dataEntry which is an object 
     } 
    } 
    } 

退房this nice writeup on type assertions如果你有興趣學習更多。

相關問題