如何以管道/链的方式逐一执行多个 JavaScript 对象,当找到匹配项时退出并返回结果的最佳实践是什么?
function a() { // 找到结果 // 如果未找到返回 false if (2===3){ return 'result A'; }else { return false; } } function b() { // 如果 a() 返回 false // True = 匹配结果 if (true){ return 'result B'; }else { return false; } } function c() { // 如果在 b() 中未找到,在这里查找 if (true){ return 'result C'; }else { return false; } } function aibot() { return a() || b() || c(); // 更多函数 } console.log(aibot());
使用 js Promise 是否是一个好的解决方案?请提供一些建议。
回答:
你可以使用 some
方法和一个函数数组,以及一个值作为返回值,如果某个函数返回一个真值。
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());