Bonjour à tous,
J'utilise une fonction pour mettre à jour une valeur dans une base de donnée
Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 /* Save Chart settings */ const saveChartSettings = async(field:string, value:number) => { console.log( "SensorID:", id_sensor , "DB field:", field, "Value:",JSON.stringify(value,null,1)) try { const response = await fetch('https://api.site-site.ch/putChartSettings.inc.php', { method: 'POST', headers:{ accept:'application(json', Authorisation: 'key', }, body: JSON.stringify({ id_sensor: id_sensor, field: field, value: value }) }) if(!response.ok){ setThresholdError("[Save Threshold] Failed to fetch the API (check the path)") } const json = await response.json(); console.info("Response:", json); if(json.response=="200"){ return 1 } else{ return 0 } }catch(err){ setThresholdError("[Save setting] Check API path. " + err) } finally { } }
Je me rends compte que j'ai besoin que la fonction me retourne 1 ou un 0 si le champs a été mis à jour, ou si aucune modification à eu lieu. Une erreur doit returner la valuer -1.
Pour le moment, j'ai ajouté 'reurn 1' et 'return 0'
J'ai aussi modifié ceci comme cela
Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(saveChartSettings('border-color', value) == 1 ){ setIsBorderColorSaved(1) } else{ setIsBorderColorSaved(0) }
Ce qui me génère une erreur
Mon problème est que je ne sais pas comment résoudre ce problème. Je comprends qu'il manque un élément await. Mais ou?
J'ai essayé ceci sans succès
Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(await saveChartSettings('border-color', value) == 1 ){ setIsBorderColorSaved(1) } else{ setIsBorderColorSaved(0) }
je ne comprends pas aussi la ntion de Promise, je suis un peu largué.
Pouvez-vous m'éclairecir?
Mercii








Répondre avec citation
Partager