Ich habe den folgenden CodeSenden Reaktion nach fs.readFile länger ausgeführt wird iterativ
var express = require('express');
var Promise = require('bluebird');
var fs = Promise.promisifyAll(require('fs'));
var path = require("path");
var langs = fs.readdirSync({directory having multiple directories});
var arr = [];
for(var v in langs){
var filename = config.path.storage + "/" + langs[v] +"/assets/_assets.json";
fs.readFile(filename, "utf8", function(err, data) {
if (err) throw err;
res.write(data);
//res.end();
});
}
res.end();
Was ich tun möchte, ist, wenn alle Dateien in den Verzeichnissen (lang in diesem Fall - langs enthält: ['ar-dz', 'en-gb', 'en-us']) gelesen werden, möchte ich eine res.send() an den Client tun.
Ich habe versucht, das 'fs' Modul über 'bluebird' Modul zu promiden. Ich nehme an, der Rückruf in fs.readFileAsync() verursacht das Problem, gibt es einen Weg um es herum?
Becoz 'res.end()' wird, bevor eine der 'res.write' Anrufe ausgeführt werden sollen sind – Ankur
Ordnung ausgeführt, I Ich formatiere den Code neu. Ich verstehe, warum die Header nicht gesetzt werden können, aber das eigentliche Problem, wie der Titel sagt, brauche ich eine Möglichkeit, meinen Code nach der iterativen Ausführung von readFile() –