Я только что попытался вызвать асинхронную функцию монго (updateAdded) из рекурсивного setTimeout
. Однако я обнаружил ошибку контекста: UnhandledPromiseRejectionWarning: MongoError: Topology was destroyed
.
async function updateAdded(followersToAdd, username = 'blower1223', db = amng){
const lel = await db.find({collection:COLLECTION, where: {username: username}});
const all = await lel[0].followersAdded + followersToAdd;
await amng.update({
collection: COLLECTION,
where: { username: username },
row: { followersAdded: all }
})
}
await amng.connect();
const loginInfo = await amng.find({ collection: COLLECTION }, {});
console.log(loginInfo);
let temp = [];
loginInfo.map((user) => {
temp.push(new Instagram({ username: user.username, password: user.password }))
});
const users = temp;
temp = [];
let that = this;
let timerId = setTimeout(async function approveSession() {
for (let i = 0; i < users.length; i++) {
const client = users[i];
await client.login();
const req = await client.getFollowRequests();
console.log(req);
await updateAdded(req.length);
for (let i = 0; i < req.length; i++) {
const elem = req[i];
await client.approve({ userId: elem.node.id });
}
}
timerId = setTimeout(approveSession, 3000);
}, 3000);
Я пытался использовать updateAdded.call(that, req.length)
, но это не решило проблему.