我在使用angular時面臨一個問題。我創建了一個管道,它應該呼叫另一個管道,用一個回圈來檢查一個陣列的所有元素是否為假。我不知道為什么我不允許回傳一個可觀察的布林值...
。
我已經為這個錯誤糾結了一整天了。如果有人能幫助我,我將非常感激
錯誤:
TS2322。型別'Observable'不能賦值給型別 Type 'void' is not assignable to type 'boolean'.
transform(antwortElem: UiKategorie[] )。) Observable< boolean> {
if(!antwortElem){
return null;
}
return this.iqsService.enabledStateInbearbeitung$.pipe(
map(span class="hljs-params">enabledState => {
let enabled = false;
antwortElem.forEach((antwort) =>/span> {
if(enabledState[antwort.struktur.id] != null){
return enabledState[antwort.struktur.id] 。
}else{
return true;
}
})
})
)
}
uj5u.com熱心網友回復:
transform(antwortElem: UiKategorie[] )。) Observable< boolean> {
if(!antwortElem){
return null; //this probably isn't allowed for your typings. needs to be Observable<boolean> | null }
}
return this.iqsService.enabledStateInbearbeitung$.pipe(
map(span class="hljs-params">enabledState => {
//for each并不是這樣的,請使用some運算子代替。
// some將在任何元素符合條件時回傳true。
return antwortElem.some(span class="hljs-params">antwort => ! !enabledState[antwort.struktur.id] )
})
)
}
uj5u.com熱心網友回復:
map需要回傳一些東西。在你的例子中,你做了一個forEach,它應該被回傳
for(let antwort in antwortElem) {
if(enabledState[antwort.struktur.id] != null){
return enabledState[antwort.struktur.id] 。
}else{
return true;
}
})
錯誤指出,你沒有回傳任何東西,這就是為什么它是void
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/323549.html
標籤:
