J'ai eu mon module personnalisé avec le code suivant:
module.exports.PrintNearestStore = async function PrintNearestStore(session, lat, lon) {
...
}
Il a bien fonctionné si l'appel de la fonction à l'extérieur de mon module, cependant si j'ai appelé à l'intérieur je suis d'erreur lors de l'exécution:
(node:24372) UnhandledPromiseRejectionWarning: non Gérée promesse rejet (rejet de l'id: 1): ReferenceError: PrintNearestStore n'est pas défini
Quand j'ai changé de syntaxe:
module.exports.PrintNearestStore = PrintNearestStore;
var PrintNearestStore = async function(session, lat, lon) {
}
Il a commencé à fonctionner à l'intérieur du module, mais ne parvient pas à l'extérieur du module - je suis d'erreur:
(node:32422) UnhandledPromiseRejectionWarning: non Gérée promesse rejet (rejet de l'id: 1): TypeError: mymodule.PrintNearestStore est pas une fonction
J'ai donc changé le code pour:
module.exports.PrintNearestStore = async function(session, lat, lon) {
await PrintNearestStore(session, lat, lon);
}
var PrintNearestStore = async function(session, lat, lon) {
...
}
Et maintenant, il fonctionne dans tous les cas: à l'intérieur et à l'extérieur. Toutefois veulent comprendre la sémantique et si il y a de plus beau et le plus court chemin pour l'écrire? Comment définir correctement et l'utilisation asynchrone en fonction à la fois: à l'intérieur et à l'extérieur (exportations) module?