我有一个需要多次调用的Node.js函数,它是一个返回名称的API函数,但是它一次可以返回的数量受到限制。这样,它会自行调用,直到没有名称可供检索为止。
我的目标是只记录最终结果:
someLibrary.getNames('').then((r) => {
console.log(r);
})
getNames函数:
getNames: function(start) { // start is = last name fetched
return SomeApi.fetchNames(start).then(function(names) {
if (names.length > 0) {
Array.prototype.push.apply(nameList, names); // nameList is defined outside
start = names[names.length - 1][0];
api.getNames(start);
} else {
// We're done
return nameList;
}
}, function (error) {
console.error('Could not retrieve: \n', error.data);
});
}
module.exports = api;
如果我检查getNames()函数,可以看到nameList正确填充了我需要的数据,我只想能够返回此数据并从someLibrary.getNames()的.then()中使用它。 ,我似乎无法解决这个问题。