gpt4 book ai didi

javascript - 如何使用 JavaScript 对 API 对象使用迭代器进行迭代?

转载 作者:行者123 更新时间:2023-12-05 04:39:54 25 4
gpt4 key购买 nike

我想通过 JavaScript 迭代器迭代一个 JSON 对象(数组)。我无法将从迭代器函数获取的数据存储在变量中,因此我无法使用该变量进行 DOM 操作。

next.addEventListener('click',nextCV);
function nextCV(){
const a =getCV().then(data=>
data.next().value)


}

function getCV(){


return fetch(url).then(response=>{return response.json()
}).then(data=>{


return iteratorCV(data.results)
})

}

function iteratorCV(data){
console.log('inside iterator')
let nextindex=0;
return {
next: function(){
return nextindex<data.length ? {value: data[nextindex++], done:false} : {done:true};
}
};
}

在这里,每当发生点击事件时,我想将下一个数组数据存储到变量“a”中。请帮忙。

附言我仍在学习 JavaScript。

最佳答案

您正在调用 getCV(),它会在您每次单击该元素时重复请求并创建一个新的迭代器。听起来你真正想做的是

const iteratorPromise = getCV();
iteratorPromise.catch(console.error);
next.addEventListener('click', function nextCV(e) {
iteratorPromise.then(iterator => {
const a = iterator.next().value;
console.log(a); // or DOM manipulation
});
});

getCV().then(iterator => {
next.addEventListener('click', function nextCV(e) {
const a = iterator.next().value
console.log(a); // or DOM manipulation
});
}).catch(console.error);

关于javascript - 如何使用 JavaScript 对 API 对象使用迭代器进行迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70374293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com