Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    ho provato anche così:
    codice:
    function getMediaId(id, async = true) {
        let out;
        $.ajax({
            url: baseUrl + 'media/' + id,
            type: 'GET',
            aysnc: async,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            async: false
    }).done(function (res) {
            out = res.source_url;
            console.log("1:" + out);
        }).fail(function (err) {
            out = 'images/white.jpg';
        });
        console.log("2:" + out);
        return out;
    }
    quello che non capisco è che mi esce prima il console contrassegnato come 2, con valore undefined.
    e poi quello con 1, col valore corretto.
    in teoria, forzando l'async, questo non dovrebbe succedere!

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ho provato anche così:
    codice:
    function getMediaId(id, async = true) {
        let out;
        $.ajax({
            url: baseUrl + 'media/' + id,
            type: 'GET',
            aysnc: async,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            async: false
    }).done(function (res) {
            out = res.source_url;
            console.log("1:" + out);
        }).fail(function (err) {
            out = 'images/white.jpg';
        });
        console.log("2:" + out);
        return out;
    }
    quello che non capisco è che mi esce prima il console contrassegnato come 2, con valore undefined.
    e poi quello con 1, col valore corretto.
    in teoria, forzando l'async, questo non dovrebbe succedere!

    per rendere la chiamata non asincrona devi usare :

    codice:
    async:false
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.