Я новичок в узле и пытаюсь создать функцию для выполнения запросов API с нумерацией страниц. Функция успешно дает мне желаемый результат, но я не понимаю, как использовать функцию .then () в index. js, поскольку она asyn c. Если я использую await в своем индексе. js, тогда он выдает ошибку. Я надеюсь получить некоторое руководство относительно того, как я могу это исправить, и как я могу лучше понять async / await.
//hs-api.js
const request = require('request-promise');
const settings = require('./settings');
var all = []
let getReq = async (url) => {
var options = {
'method': 'GET',
'url': url,
'headers': {
'Content-Type': 'application/json'
}
}
let results = await request(options, function async (error, response) {
if (error) {
reject(error)
} else {
res = JSON.parse(response.body)
}
})
all = all.concat(res.results)
if(res.hasOwnProperty("paging")) {
await getReq(`${res.paging.next.link}&apikey=${settings.api_key}`)
} else {
console.log(all)
return all
}
}
Здесь я вызываю функцию
//index.js
let apiResponse = api.getReq(`https://apiexample.com/?apikey=${settings.api_key}`)
console.log(apiResponse)