@@ -71,25 +71,30 @@ Internally, the `filter()` method iterates over each element of the array and pa
71
71
The ` filter() ` method accepts two named arguments: a ` callback ` function and an optional object.
72
72
73
73
74
- ###### Generator in javascript:
74
+ ###### Generator in javascript: Base64 converter
75
75
``` javascript
76
- function * counter (value ) {
77
- let step;
78
-
79
- while (true ) {
80
- step = yield ++ value;
81
-
82
- if (step) {
83
- value += step;
84
- }
85
- }
86
- }
76
+ // Helper function to convert file to Base64
77
+ const convertToBase64 = (file ) => {
78
+ return new Promise ((resolve , reject ) => {
79
+ const reader = new FileReader ();
80
+ reader .onload = () => resolve (reader .result );
81
+ reader .onerror = (error ) => reject (error);
82
+ reader .readAsDataURL (file);
83
+ });
84
+ };
85
+ ```
87
86
88
- const generatorFunc = counter (0 );
89
- console .log (generatorFunc .next ().value ); // 1
90
- console .log (generatorFunc .next ().value ); // 2
91
- console .log (generatorFunc .next ().value ); // 3
92
- console .log (generatorFunc .next (10 ).value ); // 14
93
- console .log (generatorFunc .next ().value ); // 15
94
- console .log (generatorFunc .next (10 ).value ); // 26
87
+ ####### Convert:
88
+ ``` javascript
89
+ const handleFileChange = async (event ) => {
90
+ const file = event .target .files [0 ];
91
+ if (file) {
92
+ try {
93
+ const base64 = await convertToBase64 (file);
94
+ setIcon (base64); // Save Base64 string
95
+ } catch (err) {
96
+ console .error (" Error converting file to Base64:" , err);
97
+ }
98
+ }
99
+ };
95
100
```
0 commit comments