从函数中获取返回值?

时间:2015-09-15 07:57:01

标签: javascript

function remove(){
    console.log(xxx());
    if(xxx() != true){
        console.log(xxx());
        return;
    }

    console.log('removed');
}

function xxx(){
    SweetAlert.swal({
            title: "Are you sure?",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55"},
        function(isConfirm){
            if (isConfirm) {
                return true;
            } else {
                return false;
            }
        }
    );
}

如何从函数xxx()返回。

当我触发remove()时,它总是返回undefined。

如果返回为真,我想console.log('removed')

1 个答案:

答案 0 :(得分:0)

如评论中所述,您的调用函数无法访问回调函数的结果,但是您可以为您的包装xxx函数提供自己的回调函数。在那里你可以选择完全取代回调,或者例如只传递成功的行动:

function remove(){
    xxx(function(){console.log('removed');});
}

function xxx(OnSuccess){
    SweetAlert.swal({
            title: "Are you sure?",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55"},
        function(isConfirm){
            if (isConfirm && OnSuccess) 
                OnSuccess();
        }
    );
}