私は再帰を使用して複数のAPI呼び出しの結果を配列に書き込もうとしています。私はここES6と再帰的なもので私の頭の中ではかなり終わっており、何か助けが必要かもしれません。再帰呼び出しapi(axios/javascript)
getAllEmployees: function() {
let allEmployees = []; // this array will contain all employees
let pageNumber = 1; // start with page 1
const getThoseEmployees = function(pageNumber) {
return axios.get(rest_url + 'users/?per_page=50&page=' + pageNumber, {
headers: {
'X-WP-Nonce': WPsettings.nonce
},
}).then(response => {
// add the employees of this response to the array
allEmployees = allEmployees.concat(response.data);
pageNumber++;
if (response.headers['x-wp-total'] > allEmployees.length) {
// do me again...
return getThoseEmployees(pageNumber);
} else {
// this was the last page, return the collected contacts
return allEmployees;
}
});
}
return getThoseEmployees();
},
// after "created" in vue
this.allEmployees = this.getAllEmployees(); // returns "promise"
可能性のある重複した[非同期呼び出しからの応答を返すには?](https://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-呼び出し) – evolutionxbox