I have the following code that I believe is blocking the main thread. Basically I want to pull
var reactionIdArray = reactionIds.map(function (val) {
if (val.dataValues.fromId == userId) {
return val.dataValues.toId
}
var connectedArray = connects.map(function (val) {
if (val.dataValues.fromId == userId) {
return val.dataValues.toId
} else if (val.dataValues.toId == userId) {
return val.dataValues.fromId
}
}
var MsgIdArray = MsgIds.map(function (val) {
return val.dataValues.to_id
})
Users.findAll({
where: {
id: { [Op.and]: [
{ [Op.ne]: userId },
{ [Op.notIn]: matchIdArray },
{ [Op.notIn]: reactionIdArray },
{ [Op.notIn]: directMsgIdArray },
] },
It is pulling alot of data and taking some time and also blocking the thread. I was told that it could be because of the use of .map
Are there anyway to make this async of rewrite so it does not use .map or does not block the thread?
question from:
https://stackoverflow.com/questions/65911529/how-to-stop-arrays-map-from-blocking-the-main-thread 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…