Browse Source

Fix problem tagIDs cache

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

10
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); tagIDs = maps.map(x => x.tag_id);
problemTagCache.set(this.id, tagIDs); 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