mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-07-10 09:14:37 +00:00
remove callback hell
This commit is contained in:
parent
db24f20289
commit
308774c2a6
34
js/module.js
34
js/module.js
@ -318,24 +318,24 @@ var Module = Class.extend({
|
|||||||
const languages = Object.keys(translations);
|
const languages = Object.keys(translations);
|
||||||
const fallbackLanguage = languages[0];
|
const fallbackLanguage = languages[0];
|
||||||
|
|
||||||
if (languages.length > 0) {
|
if (languages.length === 0) {
|
||||||
const translationFile = translations[language];
|
return callback();
|
||||||
const translationsFallbackFile = translations[fallbackLanguage];
|
|
||||||
|
|
||||||
if (translationFile) {
|
|
||||||
Translator.load(this, translationFile, false, () => {
|
|
||||||
if (translationFile !== translationsFallbackFile) {
|
|
||||||
Translator.load(this, translationsFallbackFile, true, callback);
|
|
||||||
} else {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
Translator.load(this, translationsFallbackFile, true, callback);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
callback();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const translationFile = translations[language];
|
||||||
|
const translationsFallbackFile = translations[fallbackLanguage];
|
||||||
|
|
||||||
|
if (!translationFile) {
|
||||||
|
return Translator.load(this, translationsFallbackFile, true, callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
Translator.load(this, translationFile, false, () => {
|
||||||
|
if (translationFile !== translationsFallbackFile) {
|
||||||
|
Translator.load(this, translationsFallbackFile, true, callback);
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -103,26 +103,18 @@ var Translator = (function () {
|
|||||||
* @param {boolean} isFallback Flag to indicate fallback translations.
|
* @param {boolean} isFallback Flag to indicate fallback translations.
|
||||||
* @param {Function} callback Function called when done.
|
* @param {Function} callback Function called when done.
|
||||||
*/
|
*/
|
||||||
load: function (module, file, isFallback, callback) {
|
load(module, file, isFallback, callback) {
|
||||||
if (!isFallback) {
|
Log.log(`${module.name} - Load translation${isFallback && " fallback"}: ${file}`);
|
||||||
Log.log(module.name + " - Load translation: " + file);
|
|
||||||
} else {
|
if (this.translationsFallback[module.name]) {
|
||||||
Log.log(module.name + " - Load translation fallback: " + file);
|
return callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
var self = this;
|
loadJSON(module.file(file), (json) => {
|
||||||
if (!this.translationsFallback[module.name]) {
|
const property = isFallback ? "translationsFallback" : "translations";
|
||||||
loadJSON(module.file(file), function (json) {
|
this[property][module.name] = json;
|
||||||
if (!isFallback) {
|
|
||||||
self.translations[module.name] = json;
|
|
||||||
} else {
|
|
||||||
self.translationsFallback[module.name] = json;
|
|
||||||
}
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
callback();
|
callback();
|
||||||
}
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user