v2.5.2
Giriş yap

Axios yanıt dönene kadar bekletme

selcuk
456 defa görüntülendi

Merhaba,
axios dan yanıt dönene kadar functionu bekletmenin bir yolu var mı?
await test(); maalesef yapamıyoruz. İstek dışardan atılıyor.

window['test'] = async function(event) {
    await axios.post('/test').then(result => {
        console.log("await ok");
    });
};
test();
console.log("abc");

İstiyorum ki; test içerisindeki axios dan yanıt dönene kadar sonraki işlemlere geçmesin.
Bunu query ajax isteği ile yapabiliyorum.

window['test'] = function(event) {
    $.ajax({
        url: '/test',
        type: 'POST',
        async: false,
        dataType: 'json',
        success: function(result) {
            console.log("test ajax");
        }
    });
};
test();
console.log("abc");

axios ile yapamazmıyım ?

ebykdrms
757 gün önce

Axios'un senkron desteği yok. Axios mutlaka Promise dönmek üzere tasarlandı. Axios'u senkron yapmanın yolu olarak sizin de aklınıza gelmiş olabilecek yollardan başka bir yol yok.
Axios isteğinden sonra çalışacak tüm işlemleri bir fonksiyon içine alabilir ve axios'tan yanıt geldiğinde bu fonksiyonu çağırabilirsiniz.
Eğer kodunuz buna uyum sağlayamayacaksa axios'tan başka çözüm yollarına gitmelisiniz.