我无法在循环中获得查询的前100个结果。我试图通过更改起始参数值来获得下一个10个结果。但是我希望在循环中获得它。 >
getResponse() {
superagent.get('https://www.googleapis.com/customsearch/v1')
.query({'q': this.search.current.value, 'cx': this.cx, 'gl': 'all', 'start': 1, 'num': 10, 'key': this.apiKey})
.then((res) => {
console.log('value of show', this.show)
console.log('response', res)
// let arr = res.body.items
// arr.map((value)=>{
// console.log('value', value)
// this.field =value
// })
// this.field = arr
this.setState({
show: true,
data: res.body.items || []
})
})
.catch(err => {
this.setState({
show: false,
data: []
})
})
}
答案 0 :(得分:0)
类似的情况可能是您的案例的一个很好的起点:
getResponse() {
const queries = [];
let start = 1;
while (start <= 100) {
const query = superagent.get('https://www.googleapis.com/customsearch/v1')
.query({'q': this.search.current.value, 'cx': this.cx, 'gl': 'all', 'start': start, 'num': 10, 'key': this.apiKey});
queries.push(query);
start += 10;
}
Promise.all(queries)
.then((responses) => {
// responses will be an array of responses
responses.forEach(function(res) {
console.log('value of show', this.show)
console.log('response', res)
// let arr = res.body.items
// arr.map((value)=>{
// console.log('value', value)
// this.field =value
// })
// this.field = arr
this.setState({
show: true,
data: res.body.items || []
})
})
})
.catch(err => {
this.setState({
show: false,
data: []
})
})
}