Message from JavaScript discussions
July 2017
— Uhhhh
if (cachedDoc !== null) {
// Synchronous
return insertionThunk(cachedDoc);
} else {
if (conf.isFile) {
// Asynchronous XHR
return getTemplateXHR(templLoc, conf).then(saveInsertionThunk);
} else {
// Synchronous
return saveInsertionThunk(getTemplateDOM(templLoc));
}
}
— *ahem*
—
if (x) {
return y;
} else {
// rest of logic
}
— You see a problem here?
— What you see is a little cache check
— If we don't have a cached document, we go get it in the else
—
if (cachedDoc !== null) {
return insertionThunk(cachedDoc);
}
if (conf.isFile) {
return getTemplateXHR(templLoc, conf).then(saveInsertionThunk);
}
return saveInsertionThunk(getTemplateDOM(templLoc));
— saveInsertionThunk
is a function which calls conf.cache.saveDoc(templLoc, templDoc);
before calling insertionThunk
— Equivalent
— Yes
— Why the else's?