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