Javascript Node.js async.detect如果没有结果

Javascript Node.js async.detect如果没有结果,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我有一个IP数组,我针对特定条件进行测试,在第一个返回true的IP处停止。但是,我无法确定是否所有IP都未通过测试,因为async.detect仅在测试成功时返回结果 我的代码是这样的: async.detect(ips, function(ip, callback) { if(aCertainCondition(ip)) { callback(null, true); } }, function(err, result) { // my result })

我有一个IP数组,我针对特定条件进行测试,在第一个返回true的IP处停止。但是,我无法确定是否所有IP都未通过测试,因为
async.detect
仅在测试成功时返回结果

我的代码是这样的:

async.detect(ips, function(ip, callback) {
    if(aCertainCondition(ip)) {
      callback(null, true);
    }
}, function(err, result) {
    // my result
});
文档中没有提到这个用例,找到的答案效率低下,因为
detect
方法似乎从未到达
回调

对于我的用例来说,必须尽快返回成功的第一个测试,否则返回一些东西让我知道所有测试都失败了。是否可以使用
async.detect
?还是应该使用其他方法/库


谢谢。

您需要始终调用回调,而不仅仅是在条件成功/失败时:

    async.detect(ips, function(ip, callback) {

       callback(null, aCertainCondition(ip));
    }, 
    function(err, result) {
        // my result
    });

如果任何一个测试成功,我需要那个测试,否则如果所有测试都失败,我需要以某种方式得到通知。因为否则这个方法就会无限期地挂起。这似乎就是答案。非常感谢。