Как задать задержку для ax ios в массиве al oop? - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь задать задержку для ax ios в массиве oop (Vue project).

        let promises = [];
        for (const item of this.itemsWithIndex) {
                const cmd = "od_kioskPaperUpdate";
                promises.push(
                    await axios({
                        url: 'url',
                        method: 'post',
                        data: data
                    }).then((res) => {
                        if (res.statusText == 'OK') {
                            console.log('success', res)
                        } else {
                            console.log("failed", res)
                        }
                    })
                        .catch((err) => {
                            console.log(err)
                        })
                )}

         Promise.all(promises)
         .then(async (r) => {         
             console.log(r)
         }

Как я могу назвать эту функцию для каждого топора ios в 3 секунды?

Ответы [ 3 ]

1 голос
/ 09 апреля 2020

попробуйте это будет работать для вас

let promises = [];
for (const item of this.itemsWithIndex) {
    const cmd = "od_kioskPaperUpdate";
    promises.push(
        await axios({
            url: 'url',
            method: 'post',
            data: data
        }).then((res) => {
            if (res.statusText == 'OK') {
                console.log('success', res)
            } else {
                console.log("failed", res)
            }
        })
            .catch((err) => {
                console.log(err)
            })
    )
    /* You can use Timeout */
    setTimeout(() => {
        console.log("go_to_sleep")
    }, 5000);
}

Promise.all(promises)
    .then(async (r) => {
        console.log(r)
    })
0 голосов
/ 09 апреля 2020

Я решил свою проблему с помощью следующего кода. У меня это работает.

const axios = require('axios');

let promises = [];

const itemsWithIndex = ['a','b','c','d']

 function wait(ms) {
    return new Promise( (resolve) => {setTimeout(resolve, ms)});
}

const axiosFunc = async () =>  {

    for (const item of itemsWithIndex) {
        console.log('before axios')
        axios({
            url: 'url',
            method: 'post',
            data: item
        }).then( await  wait(5000))
    }
};
axiosFunc()
0 голосов
/ 09 апреля 2020

Ваш код не эффективен, но вы можете использовать его там, где ваш топор ios запрос

setTimeout(() => {
   console.log('axios request')
}, 3000)
...