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() { async getTags() {
let tagIDs;
if (problemTagCache.has(this.id)) { if (problemTagCache.has(this.id)) {
return problemTagCache.get(this.id); tagIDs = problemTagCache.get(this.id);
} } else {
let maps = await ProblemTagMap.find({
let maps = await ProblemTagMap.find({ where: {
where: { problem_id: this.id
problem_id: this.id }
} });
});
let tagIDs = maps.map(x => x.tag_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 => { let res = await (tagIDs as any).mapAsync(async tagID => {
return ProblemTag.findById(tagID); return ProblemTag.findById(tagID);

Loading…
Cancel
Save