SOURCE

function multiFormValidate(formRefs = [], exec) {
    let promise
    console.log('验证函数开始执行,打印回调函数类型', typeof exec)
    if (typeof exec !== 'function') {
        promise = new Promise((resolve, reject) => {
            exec = function (valid) {
                // valid ? resolve(valid) : reject(valid)
                console.log('没有传入回调函数,生成回调函数', valid)
                resolve(valid)
            }
        })
    }
    Promise.all(
        formRefs.map(it => {
            if (it) {
                // return Promise.resolve()
                return Promise.reject(new Error('faile'))
            }
        })
    )
        .then(res => {
            console.log('校验通过,执行回调函数')
            exec(true)
        })
        .catch(e => {
            console.log('校验未通过,不会执行回调函数', JSON.stringify(e))
            if (promise) {
                console.log('校验未通过,且没有传入回调函', JSON.stringify(e))
                exec(false)
            }
        })
    if (promise) {
        console.log('promise', JSON.stringify(promise))
        return promise
    }
}
async function save(){
    const temp = await multiFormValidate([{ flag: true }])
    if (!temp) {
        console.log('校验结果为false')
    }else{
        console.log('校验结果为true')
    }
    console.log("@###", temp)
}


function save1(){
    multiFormValidate([{ flag: true }],()=>{
        console.log('回调函数执行了')
    })
}
save()
// save1()
console 命令行工具 X clear

                    
>
console