相关疑难解决方法(0)

如何在 Dart 中运行交互式流程?

下面的测试尝试运行 less pager 命令并在用户退出后返回。问题是它不等待用户输入,它只是列出整个文件并退出。平台:xubuntu 12.04,Dart 编辑器版本:13049。

import 'dart:io';

void main() {
  shell('less', ['/etc/mime.types'], (exitCode) => exit(exitCode));
}

void shell(String cmd, List<String> opts, void onExit(int exitCode)) {
  var p = Process.start(cmd, opts);
  p.stdout.pipe(stdout);  // Process output to stdout.
  stdin.pipe(p.stdin);    // stdin to process input.
  p.onExit = (exitCode) {
    p.close();
    onExit(exitCode);
  };
}
Run Code Online (Sandbox Code Playgroud)

以下 CoffeeScript 函数(使用 Nodejs I/O)有效:

shell = (cmd, opts, callback) ->
  process.stdin.pause()
  child = spawn cmd, opts, customFds: [0, 1, 2]
  child.on 'exit', (code) ->
    process.stdin.resume()
    callback code
Run Code Online (Sandbox Code Playgroud)

我怎样才能在 …

dart dart-io

3
推荐指数
1
解决办法
3184
查看次数

标签 统计

dart ×1

dart-io ×1