内にネストされた変数を取得するにはどのように、私はこのコードを持っています。私はこれでしばらく壁に頭をぶつけていて、何が間違っているのか分かりません。私が知る限り、コードは非同期ではありません。 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. 別のjquery関数の中でjquery関数を呼び出す
- 8. 別の関数(Javascript)で関数の応答を呼び出す
- 9. Pythonが別の関数の中で関数を呼び出す
- 10. 匿名関数での別個のステートメント
- 11. Jquery関数内での別のアクション
- 12. 別の関数呼び出しで関数を呼び出す
- 13. OCaml:別の関数内で関数を呼び出す
- 14. 別の関数で関数を無効にする - バニラJS
- 15. 別の関数で関数を呼び出す方法は?
- 16. Swift、別の汎用関数でジェネリック関数を呼び出す
- 17. 別の関数で関数を呼び出す方法
- 18. JavaFXテーブルの関数別グループ
- 19. Laravelコントローラー別の関数が
- 20. jQuery - 関数内の変数を別の関数に渡す
- 21. 別の関数から関数のスコープ変数にアクセスする
- 22. 関数内の変数を別の関数に呼び出す#
- 23. Pythonで別の関数内のある関数の変数を使用する
- 24. データベース内の別の関数で関数内の変数を呼び出す
- 25. 数学関数を別の数学関数に適用する
- 26. Javascript - 別の変数で使用する関数の変数
- 27. 別の関数からの動的関数の作成
- 28. 関数の別の関数への戻り値python
- 29. 別の関数の入力としての関数名?
- 30. AS3 - 別の関数の最後の関数
1.直接質問に答えるために、あなたは2できません。あなたの特定の問題に答えるためには、非同期の関数があります。そのため、後で値が返されることはありません。 – vlaz
はグローバルを宣言します。 '.on(" end ")'であなたのグローバルにhtmlの値を割り当てます。 'return html'を取り除く。この質問を削除してください。正確にそれのような他の多くの質問を読む – Tibrogargan