Bonjour,

Concernant les Promesse en JS, je doit setter la ou les valeur(s) dans une MAP(clé,valeur).

Seulement je n'ai pas mon tableau entier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Map {
  'Startpage' => Map { 'TranslationsSubSections' => Map {} },
  'Aboutpage' => Map {} }
voici la promesses:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
let test = Promise.all([getTranslation(key, value)]);
                test.then(function (result) {
 
                    myArrayArray.set(key,result);
 
                });
quand je veux stocker le resultat dans une variable depuis la promesse je recupere un undefined.

et quand ma variable est dans ma promesse et que je veux y acceder depuis l'exterieur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
let test = Promise.all([getTranslation(value, lang)]);
                test.then(function (result) {
                    mymap = result;
                });
 
                translatedArray.set(key,mymap);
j'ai ce resultat:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Map {
  'Title' => undefined,
  'Intro' => undefined,
  'Startpage' => Map {
  'TranslationSections' => undefined,
  'TranslationsSubSections' => Map {
  'TitleOne' => undefined,
  'TitleTwo' => undefined,
  'TitleTree' => undefined } },
  'Aboutpage' => Map { 'TranslationSections' => undefined } }
mon tableau avant traitement:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "Title": "Translation example",
  "Intro": "Hello I am et, I am 500 years old.",
  "Startpage": {
    "TranslationSections": "Hello World",
    "TranslationsSubSections" :{
      "TitleOne"  : "Hello All",
      "TitleTwo"  : "Hello You",
      "TitleTree" : "Hello Me"
    }
  },
  "Aboutpage": {
    "TranslationSections": "We are letsboot"
  }
}
quand j'essaie de stoker les valeurs de ma promesses dans un tableau

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
let test = Promise.all([getTranslation(value, key)]);
                test.then(function (result) {
                    mymap[key] = result;
                });
j'ai cette erreur..:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
(node:1562) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot set property 'TitleOne' of undefined
Je touche au but mais j'ai un manque de compréhension envert le fonctionnement des promesses.

Merci pour votre aide.