次の例では、ファイルの読み取りが終了した後、s null が残ります。
String s;
new File('etc.stk').readAsString().then((String contents) {
s = contents;
});
// s is null here.
s を保存 (または複製) する方法はありますか、それとも .then スコープでのみ使用する必要がありますか?
ファイルの内容を解析して実行する数千行のコンパイラ/インタープリター コードがあり、それらすべてを新しいファイル スコープ内に配置したくないと考えています。
編集
より多くのコンテキストを提供するために、私がやろうとしていることは次のようなものです
new File('etc1.stk').readAsString()
.then((String script) {
syntaxTree1 = buildTree(script);
});
new File('etc2.stk').readAsString()
.then((String script) {
syntaxTree2 = buildTree(script);
});
後続のコードで syntaxTree1 と syntaxTree2 の両方にアクセスできます。できれば、ダートウェイに頭を悩ませます。