आप कॉल स्कैन को पूर्ण होने तक जारी रखने के लिए रिकर्सन का उपयोग कर सकते हैं।
function scanAsync(cursor, pattern, returnSet){
return redisClient.scanAsync(cursor, "MATCH", pattern, "COUNT", "100").then(
function (reply) {
cursor = reply[0];
var keys = reply[1];
keys.forEach(function(key,i){
returnSet.add(key);
});
if( cursor === '0' ){
return Array.from(returnSet);
}else{
return scanAsync(cursor, pattern, returnSet)
}
});
}
एक सेट में पास करें () यह सुनिश्चित करने के लिए कि कुंजियाँ डुप्लिकेट नहीं हैं
myResults = new Set();
scanAsync('0', "NOC-*[^listen]*", myResults).map(
function( myResults ){ console.log( myResults); }
);