我运行了超过 500 000 个 uid 以通过承诺 (promiseUserData(uid)) 获取它们的关联数据。由于某种原因,内存使用情况不会从循环到循环清除。
每个循环使用大约 4mb 的数据,并且不会从内存中清除。
我不知道如何解决这个问题。Promise pooling 也会导致这个问题。
帮助将不胜感激。
谢谢
for (var i = 0; i <= numPasses; i++) {
var subset = uids.splice(0, 1000);
var userDataArray = [];
var promises = [];
subset.map((uid) => {
promises.push(promiseUserData(uid).then((userData) => {
if (userData) {
userDataArray.push(userData);
}
}));
});
await Promise.all(promises).catch((err) => {
console.log('Error in Promises.all: ', err);
});
}
Run Code Online (Sandbox Code Playgroud)