let token = null;
let allData = [];
while( true) {
getData( token).then( function( data, nextToken){
token = nextToken;
allData.push( data);
});
if( token == null) break;
}
return allData;
如您所知,这段代码不起作用,因为我除外,因为 while 循环将在 token 值设置为 nextToken 值之前继续。有没有办法获取所有数据?
最佳答案
您可以为此使用递归函数。
function getDataRecursive(token, data = []) {
return getData(token).then((newData, nextToken) => {
if(nextToken === null) {
return [...data, newData];
}
return getDataRecursive(nextToken, data);
});
}
getDataRecursive(token).then((data) => {
console.log(data); // Will contain your array of data
});
关于node.js - Nodejs 循环中的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50113291/