Nehmen wir an, ich habe eine Datei mit bestimmten Versprechungen, die, wenn sie in der Reihenfolge ausgeführt wird, bereitet eine Eingabedatei input.txt
.Import/Export nur, nachdem bestimmte Versprechen gelöst wurden
// prepareInput.js
var step1 = function() {
var promise = new Promise(function(resolve, reject) {
...
});
return promise;
};
var step2 = function() {
var promise = new Promise(function(resolve, reject) {
...
});
return promise;
};
var step3 = function() {
var promise = new Promise(function(resolve, reject) {
...
});
return promise;
};
step1().then(step2).then(step3);
exports.fileName = "input.txt";
Wenn ich node prepareInput.js
laufen, wird die Linie step1().then(step2).then(step3)
ausgeführt und erstellt die Datei.
Wie kann ich das ändern, wenn andere Dateien versuchen, fileName
von diesem Modul abzurufen, wird step1().then(step2).then(step3);
ausgeführt und abgeschlossen, bevor Dateiname ausgesetzt wird? Etwas entlang der Linie:
// prepareInput.js
...
exports.fileName =
step1().then(step2).then(step3).then(function() {
return "input.txt";
});
// main.js
var prepareInput = require("./prepareInput");
var inputFileName = require(prepareInput.fileName);
Node.js Anfänger hier; Entschuldige dich vorher, wenn mein Ansatz völlig sinnlos ist ... :)
Warum nicht 'require (‘ ./ prepareInput '). fileName.then (function (inputFileName) {...}) '? –
Ich meine, sobald Ihr Code mit dem asynchronen Effekt "infiziert" wurde, können Sie ihn nicht loswerden, alles, was den Code verwendet, wird asynchron. –
Was ist 'first()' ..? – Redu