From 03344c7abdafe5d079d57d0df655094680d62e2b Mon Sep 17 00:00:00 2001 From: Sascha Schulz <sschulz@dh-software.de> Date: Di, 18 Jul 2023 13:05:11 +0200 Subject: [PATCH] add more examples / exercises for async operations --- templates/007-js/async/cats.mjs | 21 +++++++++++++++++++++ templates/007-js/async/replace.js | 28 ++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 0 deletions(-) diff --git a/templates/007-js/async/cats.mjs b/templates/007-js/async/cats.mjs new file mode 100644 index 0000000..a49aeb7 --- /dev/null +++ b/templates/007-js/async/cats.mjs @@ -0,0 +1,21 @@ +import fetch from "node-fetch"; +import fs from "fs"; + +/* + Frage die JSON-Daten vom REST-Service mittels fetch() (gibt ein Promise mit der Response zurück) + ab und schreibe den "text" jedes Datensatzes in eine einzelne Text-Datei. + + Die Response kann mittels res.json() zu einem Objekt geparst werden (gibt ebenfalls ein Promise mit den Daten zurück) + + Als Name soll die "_id" mit der Endung ".txt" verwendet werden. +*/ + +async function writeFile(path, content) { + // noch promisifizieren + fs.writeFile(path, content, {encoding: "utf8"}, (error) => { + + }); +} + +// weiter implementieren +fetch(); diff --git a/templates/007-js/async/replace.js b/templates/007-js/async/replace.js new file mode 100644 index 0000000..a737575 --- /dev/null +++ b/templates/007-js/async/replace.js @@ -0,0 +1,28 @@ +const fs = require("fs"); + +/* + Lese die per Kommandozeile übergebenen Dateien ein und ersetze das gesuchte Wort in diesen durch den gewünschten Wert + + Beispielaufruf aus der Konsole: + node replace.js Suchwort Ersetzungswort ./file-1 ./file-2 ./file-3 +*/ + +const parameters = { + search: process.argv[2], + replace: process.argv[3], + files: process.argv.slice(4) +} + +async function readFile(path) { + // noch promisifizieren + fs.readFile(path, {encoding: "utf8"}, (error, content) => { + + }); +} + +async function writeFile(path, content) { + // noch promisifizieren + fs.writeFile(path, content, {encoding: "utf8"}, (error) => { + + }); +} -- Gitblit v1.9.3