内にネストされた変数を取得するにはどのように、私はこのコードを持っています。私はこれでしばらく壁に頭をぶつけていて、何が間違っているのか分かりません。私が知る限り、コードは非同期ではありません。 html値は、実際に別の関数で使用しているhtmlコードの文字列でなければなりません。別の関数ので
Q
別の関数ので
-2
A
答えて
3
コールバックは、私がここでのコードで何を参照してくださいによると、非同期です:https://github.com/Osterjour/line-by-line/blob/master/line-by-line.js#L43-L45
setImmediate(function() {
self._initStream();
});
解析がイベントループ内の次の「目盛り」までは起動しません。一般に、ほとんどのコールバックは非同期的に行われると仮定するとよいでしょう。あなたはまた、非同期にあなた機能を変換することをお勧めします:
function readLineMemory(cb) {
let html = '';
const loadFile = dialog.showOpenDialog({properties: ['openFile']});
const lr = new LineByLineReader(loadFile[0]);
lr.on('error', err => {
cb(err);
})
.on('line', function (line) { // called every line
const lineParse = JSON.parse(line);
JSONParsed.push(lineParse);
let htmlTabled = tableify(lineParse) + '<hr>';
html = html + htmlTabled;
})
.on('end', function() { // called when file is read fully
html = 'data:text/html,' + html;
cb(null, html);
});
}
(またはIMOよりよい約束と):
function readLineMemory() {
return new Promise(function (resolve, reject) {
let html = '';
const loadFile = dialog.showOpenDialog({properties: ['openFile']});
const lr = new LineByLineReader(loadFile[0]);
lr.on('error', err => {
reject(err);
})
.on('line', function (line) { // called every line
const lineParse = JSON.parse(line);
JSONParsed.push(lineParse);
let htmlTabled = tableify(lineParse) + '<hr>';
html = html + htmlTabled;
})
.on('end', function() { // called when file is read fully
html = 'data:text/html,' + html;
resolve(html);
});
});
}
+0
これは私の問題を本質的に解決しました!それは私を許可するときに受け入れます。 – willyb321
関連する問題
- 1. 別の関数の関数の関数
- 2. 別の関数
- 3. 別の関数
- 4. 別の関数
- 5. 別の関数
- 6. 別の関数
- 7. 関数の別名
- 8. 別の関数でのクラスタリングインデックスの使用
- 9. 別のjquery関数の中でjquery関数を呼び出す
- 10. 別の関数で関数の値を返す
- 11. Pythonが別の関数の中で関数を呼び出す
- 12. 別の関数(Javascript)で関数の応答を呼び出す
- 13. Jquery関数内での別のアクション
- 14. 匿名関数での別個のステートメント
- 15. Pythonはここで別の関数で
- 16. 別の関数の関数のJavascript変数を使用する
- 17. 別の関数で関数を呼び出す:セグメンテーションフォールト(コアダンプ)
- 18. 別の関数で関数を呼び出す
- 19. OCaml:別の関数内で関数を呼び出す
- 20. Javascript:別の関数内で関数を呼び出す
- 21. 別の関数呼び出しで関数を呼び出す
- 22. 別の関数で関数を呼び出す方法
- 23. 別の関数でスカラ関数を参照しています
- 24. 別の関数でオンチップ関数を呼び出す方法
- 25. Swift、別の汎用関数でジェネリック関数を呼び出す
- 26. 別の関数で定義されたアクセス関数
- 27. 別の関数でphpクラス関数を呼び出す方法
- 28. 別の関数で関数を呼び出す方法は?
- 29. Laravelコントローラ - 別の関数内で関数を呼び出す
- 30. 別の関数で関数を無効にする - バニラJS
1.直接質問に答えるために、あなたは2できません。あなたの特定の問題に答えるためには、非同期の関数があります。そのため、後で値が返されることはありません。 – vlaz
はグローバルを宣言します。 '.on(" end ")'であなたのグローバルにhtmlの値を割り当てます。 'return html'を取り除く。この質問を削除してください。正確にそれのような他の多くの質問を読む – Tibrogargan