условный перезапуск запроса на получение - PullRequest
0 голосов
/ 24 марта 2020

любая помощь здесь была бы удивительной (и заранее спасибо) -

У меня есть блок кода - который иногда возвращает один элемент (изображение как ноль) -

Когда это Кодовый блок возвращает null. Мне нужна функция для перезапуска, я вижу очевидный способ сделать это - просто перезапустить функцию в таком состоянии, однако это не похоже на подход dry, и я уверен, что есть система для решения такой проблемы (поскольку я уверен, что я не первый, кто сталкивается с проблемой) -

Кодовый блок:

app.get('/sign', (req, res) => {
debugger;
if(!req.query.sign){
    return res.send({
        error: 'Your star sign in the key, otherwise your pokemon will just hide from you!'
    })
}

// send back using res.send the obj details for the pokemon

let infoCall = getURL(req.query.sign);
let url = infoCall.url
let element = infoCall.element

// returns obj of data *name *url
debugger;
// pokeType function / url for http request, callback function 
pokeType(url, (error, pokeObj) => {
    if(error){
        res.send({
            error
        })
    }
    // return return second function to get pokemon image
        pokeImage(pokeObj.pokeUrl, pokeObj, (error, pokeDeets) => {
            console.log(`poke Deets: >>>>> ${pokeDeets.sprites}`)
            // if no sprite found re-run function 
            if (pokeDeets.sprites === null){
                // throw new Error('No Sprite') // Thorw new error not correct will kill app 

            }
            res.send({

                // user input ---
                sign: req.query.sign,

                // pokeObj returned data
                name: pokeObj.pokeName,
                pokeUrl: pokeObj.pokeUrl,

                // pokeDeets returned data
                sprites: pokeDeets.sprites,
                element
            })
        })
})

})

функция, которую нужно перезапустить: pokeType <<< примерно посередине вниз </p>

эта функция вызывает функцию обратного вызова, которая получает изображение, но если изображение возвращает ноль:

if (pokeDeets.sprites === null){
            // throw new Error('No Sprite') // Thorw new error not correct will kill app 

        }

Мне нужно pokeType для повторного запуска -

Мне интересно, есть ли конкретный c вызов / функция в express, который сообщает функции go назад и начать снова с этой точки? т.е. pokeType?

Выше может быть немного плохо сформулировано - если так, мои извинения и, пожалуйста, прокомментируйте любые вопросы.

Спасибо за любую помощь.

Wally

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...