Bonjour,

Voici ma question:
J'ai créé le module suivant que j'appelle monModule.js:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
define(["dojo/request/xhr","dojo/json"],function(xhr,json){
	xhr("users.json",{handleAs:"json"}).then(function(data){return data;},function(err){console.log("Erreur ",err);});
});
Dans un autre module, je sollicite ce module par un require de la manière suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
		require(["monModule"],function(monModule){
			console.log(monModule);
		});
J'avais cru comprendre que la forme require résolvait toutes les dépendances et, en particulier, résolvait tous les objets promise des modules appelés. Et donc je m'attendais à voir les données users.json éditées par le console.log(monModule) du module appelant. Il n'en est rien: console.log(monModule) renvoie un objet vide.
Je n'ai pas trouvé d'autre solution que de faire: return xhr("users.json".... depuis monModule et c'est donc un objet promise que je reçois dans mon script appelant. Je dois lui appliquer ensuite le callback: .then(function(data){.... }.

C'est précisément le .then... dans le programme appelant que j'aurais voulu éviter. Est-ce possible sans utiliser le DOM comme le font tous les exemples fournis par le site officiel DOJO?