recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - La valeur de retour de la fonction doit être traitée par la fonction de rappel de la méthode interne. Comment l'écrire ?

Par exemple

function a(a,b){
    $.messager.confirm('xxx','xx',function(r){
        if(r){
            b = 1;
        }else{
            b = 2;
        }
    });
    return b;
}

J'ai besoin d'obtenir le b traité, comment dois-je modifier cette fonction

给我你的怀抱给我你的怀抱2831 Il y a quelques jours895

répondre à tous(4)je répondrai

  • 習慣沉默

    習慣沉默2017-06-26 10:57:32

    Le résultat de la fonction de rappel ne peut être envoyé qu'à l'aide de la fonction de rappel.

    function a(a,b,callback){
        $.messager.confirm('xxx','xx',function(r){
            if(r){
                b = 1;
            }else{
                b = 2;
            }
            callback(b)
        });
    }

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-26 10:57:32

    Regardez le formulaire$.messager.confirm是一个异步调用,你可以把这个调用包一层promise;

    function a(a,b) {
        return new Promise(function(resolve, reject) {
            $.messager.confirm('xxx','xx',function(r){
                if (r) {
                    b = 1;
                } else{
                    b = 2;
                }
                resolve(b);
            });
        });
    }

    Lorsque vous appelez a, vous pouvez l'appeler comme suit

    a(xxx, xxx).then(function(b) {
        // b就是上面resolve的值
    });

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-26 10:57:32

    function a(a,b){
        let t;
        $.messager.confirm('xxx','xx',function(r){
            if(r){
                t = 1;
            }else{
                t = 2;
            }
        });
        return t;
    }
    
    //或者
    function a(a,b){
        $.messager.confirm('xxx','xx',function(r){
            if(r){
                return  1;
            }else{
                return  2;
            }
        });
    }

    répondre
    0
  • 三叔

    三叔2017-06-26 10:57:32

    La fonction de rappel est exécutée après l'exécution de votre fonction principale, ce qui signifie que vous devez d'abord avoir deux paramètres, xxx et xx, puis le rappel est exécuté. Il n'y a rien de mal avec votre fonction.

    répondre
    0
  • Annulerrépondre