JavaScript的好习惯是逐个运行许多函数/对象直到找到结果

Sha*_*Pal -1 javascript artificial-intelligence promise

什么是一个接一个地执行许多JavaScript对象的好习惯,就像管道/链一样.匹配时找到退出代码并返回结果.

        function a() {
            // found result 
            // if not found return false
            if (2===3){
                return 'result A';
            }else {
                return false;
            }
        }
        function b() {
            // If a() False
            // True = Match Result
            if (true){
                return 'result B';
            }else {
                return false;
            }
        }
        function c() {
            // if not found in b() find here
            if (true){
                return 'result C';
            }else {
                return false;
            }
        }
        function aibot() {
            return a() || b() || c(); // Some more function
        }
        console.log(aibot());
Run Code Online (Sandbox Code Playgroud)

js承诺会是一个很好的解决方案吗?请给出一些建议.

Nin*_*olz 5

some如果函数返回一个truthy值,你可以获取一个函数数组,以及一个值作为返回值.

function a() { return false; }
function b() { return 'result B'; }
function c() { return 'result C'; }

function aibot() {
    var value;
    [a, b, c].some(fn => value = fn());
    return value;
}

console.log(aibot());
Run Code Online (Sandbox Code Playgroud)