Callback Callback
发布于 10 年前 作者 booxood 3778 次浏览 最后一次编辑是 8 年前

在写个判断函数时,大概是想可以这样调用

validStr('xxx', 2, 10)

但是又想在当判断的过程抛出异常 于是写成

function validStr(str, min, max){
    if(){
        ...
        return true;
    }
    else{
        ...
        this.callback();
        return false;
    }
}

于是调用也变成了

validStr.call({callback: throwError.bind(null, 'error!')}, str, 2, 10)

嘶 等等 怎么有种怪怪的赶脚 既然都这样调用了 那这样是不是更好点呢

function validStr(str, min, max, callback){
    if(){
        ...
        return true;
    }
    else{
        ...
        callback();
        return false;
    }
}
validStr(str, 2, 10, throwError.bind(null, 'error!'))

洗澡睡觉!

2 回复

不是异步的,直接throw就行了

@ravenwang 传入callback是因为想调用时可以根据情况执行不同的操作 不一定都是throwError

回到顶部