Browse Source

Fix problem tagIDs cache

master
Menci 6 years ago
parent
commit
b5d9955529
  1. 22
      models/problem.ts

22
models/problem.ts

@ -566,19 +566,19 @@ export default class Problem extends Model {
}
async getTags() {
let tagIDs;
if (problemTagCache.has(this.id)) {
return problemTagCache.get(this.id);
}
let maps = await ProblemTagMap.find({
where: {
problem_id: this.id
}
});
let tagIDs = maps.map(x => x.tag_id);
tagIDs = problemTagCache.get(this.id);
} else {
let maps = await ProblemTagMap.find({
where: {
problem_id: this.id
}
});
problemTagCache.set(this.id, tagIDs);
tagIDs = maps.map(x => x.tag_id);
problemTagCache.set(this.id, tagIDs);
}
let res = await (tagIDs as any).mapAsync(async tagID => {
return ProblemTag.findById(tagID);

Loading…
Cancel
Save