[Vuejs]-How to exit a while loop depending of the result of an Axios call?

1👍

Try this:

const wordApiBaseUrl = 'https://www.dictionaryapi.com/api/v1/references/sd4/xml'

const vm = this; // <--- assuming this is the Vue instance
const dispatcher = {

    execute: function() {
        const wordToGuess = prompt('Enter a word:').toLowerCase()
        const endPointUrl = `${wordApiBaseUrl}/${wordToGuess}?key=${wordApiKey}`
        const dispatcher = this;
        vm.axios.get(endPointUrl).then(res => {

            if (!res.data.includes('def')) {
                dispatcher.execute();
            }
        })
    }
}
dispatcher.execute();

Rather than using a while loop or using an async/await you can use recursion in our promise. If the result is not satisfied, re-run the AJAX call.

Leave a comment