[英]How do I use the `Headers` iterator in the browser?
我正在嘗試按照Iterator docs使用Headers
迭代器。
let done = false
while ( ! done ) {
let result = headers.entries()
if ( result.value ) {
console.log(`yaay`)
}
if ( result.done ) {
console.log(`finished`)
done = true
}
}
我收到 TypeScript 錯誤:
Property 'value' does not exist on type 'IterableIterator<[string, string]>'.
但是根據規范,屬性value
應該存在於任何迭代器上,並且headers.entries()
返回一個迭代器。
如何從標頭 object 中獲取值?
但是根據規范,屬性
value
應該存在於任何Iterator
上
不,它存在於Iterator
的.next()
方法返回的迭代器結果 object 中。 所以你會做
const iter = headers.entries();
let { value, done } = iter.next();
while (!done) {
console.log('yay', value);
({ value, done } = iter.next());
}
console.log('finished');
但是,您永遠不會自己實現迭代協議。 您只需使用for … of
:
for (const value of headers.entries()) {
console.log('yay', value);
}
console.log('finished');
您可以使用Array.from(headers)
並使用常規 map/forEach 方法進行操作。
const headers= new Headers({some: 'thing'}) Array.from(headers).forEach(([key,val])=>{console.log(key,val)})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.