调用API,直到获得特定响应

时间:2018-12-28 21:48:03

标签: javascript

我真的很难在Javasctipt中使用异步功能。在这里,我有一个异步函数,该函数调用api并保存结果。它工作正常,但我现在需要做一个循环,因此将调用此api,直到满足特定条件为止。我知道这需要使用await完成,但我无法弄清楚到底是什么。

我尝试设置if语句,然后执行类似“如果不满足条件”的操作setTimeout(getResults()); (重复对异步功能的调用)。

async getResults() {

    try {

        const res = await axios(`https://blablabla`);
        this.result = res.data.info;

    } catch (error) {
        alert(error);
    }
}

1 个答案:

答案 0 :(得分:2)

async getResults() {

try {
    let i = 100;
    while(i-->=0){

    const res = await axios(`https://blablabla`);
    this.result = res.data.info;
    if(this.result == 'some process finished')
    {
        return this.result;
    }
    //else retry
    }

} catch (error) {
    alert(error);
}

只需使用一些周期,例如while(true)。并重复循环直到满足您的条件