Commit dba1ec48c08d0594936b838fc855835948a3aef2
add a chache to message/html/subject
mix irving committed on 2/13/2018, 9:05:15 PMParent: 202db7a1462af5a1b1dbeb6b5c220468060f96ea
Files changed
message/html/subject.js | changed |
message/html/subject.js | ||
---|---|---|
@@ -12,23 +12,27 @@ | ||
12 | 12 … | 'sbot.async.get': 'first', |
13 | 13 … | }) |
14 | 14 … | |
15 | 15 … | exports.create = function (api) { |
16 … | + var subjectCache = {} | |
17 … | + | |
16 | 18 … | return nest('message.html.subject', subject) |
17 | 19 … | |
18 | 20 … | function subject (msg) { |
19 | 21 … | if (msg === undefined) debugger |
20 | 22 … | // test if it's a message ref, or a full message object |
23 … | + // a message ref is generally passed in if we're fetching the subject of a root message | |
21 | 24 … | if (isMsg(msg)) { |
25 … | + if (subjectCache[msg]) return subjectCache[msg] | |
26 … | + | |
22 | 27 … | var subject = Value() |
23 | 28 … | |
24 | 29 … | api.sbot.async.get(msg, (err, value) => { |
25 | 30 … | if (err) throw err |
26 | - | |
27 | - subject.set(getMsgSubject({ | |
28 | - key: msg, | |
29 | - value: api.message.sync.unbox(value) | |
30 | - })) | |
31 … | + | |
32 … | + var _subject = getMsgSubject({ key: msg, value: api.message.sync.unbox(value) }) | |
33 … | + subject.set(_subject) | |
34 … | + subjectCache[msg] = _subject | |
31 | 35 … | }) |
32 | 36 … | |
33 | 37 … | return subject |
34 | 38 … | } |
Built with git-ssb-web