私は特定の約束事を含むファイルを持っているとしましょう。順番に実行すると、入力ファイルinput.txt
が準備されます。特定の約束が解決された後にのみインポート/エクスポートする
// 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";
私はnode prepareInput.js
を実行した場合、ラインstep1().then(step2).then(step3)
が実行され、ファイルを作成します。
他のファイルがfileName
をこのモジュールから取得しようとすると、step1().then(step2).then(step3);
が実行され、fileNameが公開される前に完了するようにするにはどうすればよいですか?線に沿って何か:ここ
// 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の初心者。私のアプローチが完全に意味がない場合は事前にお詫び申し上げます。:)
なぜ '「(必要ではない./ prepareInput ')。fileName.then(function(inputFileName){...}) '? –
あなたのコードが非同期効果で "感染"したら、それを取り除くことはできません。コードを使用するすべてが非同期になります。 –
'first()'とは何ですか? – Redu