Web Fetch API (waiting the fetch to complete and then executed the next instruction)
FirstRequestToGraph(AccessToken).then(function() {
alert('testing1234');
});
function RequestNextPage(NextPage) {
return fetch(NextPage, {
method: 'GET'
})
.then(function(response) {
return response.json();
})
.then(function(json) {
RequestNextPage(json.paging.next);
})
.catch(function(err) {
console.log(`Error: ${err}`)
});
}
function FirstRequestToGraph(AccessToken) {
return fetch('https://graph.facebook.com/v2.8/me?fields=posts.limit(275){privacy}%2Cname&access_token=' + AccessToken, {
method: 'GET'
})
.then(function(response) {
return response.json();
})
.then(function(json) {
if(json.data.length !== 0 ){
return RequestNextPage(json.paging.next);
}
})
.catch(function(err) {
console.log(`Error: ${err}`)
});
}
If you have an asynchronous function in your component, like this...
async getJSON() {
return fetch('/website/MyJsonFile.json')
.then((response)=>response.json())
.then((responseJson)=>{return responseJson});
}
Then you can call it, and wait for it download, with the await command, using something like this...
async caller() {
const json = await this.getJSON(); // command waits until completion
console.log(json.hello); // hello is now available
}
You'll also want to update getJSON(), return fetch()
to return await fetch()
.
async
is wonderful. So is await
.
Check it out: Mozilla Developer Network: Async Function