perl6: Proc::Async (new)

Posted perl6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl6: Proc::Async (new)相关的知识,希望对你有一定的参考价值。

# command with arguments
my $proc = Proc::Async.new(‘whoami‘);
 
# subscribe to new output from out and err handles:
$proc.stdout.tap(-> $v { print "Username: $v" }, quit => { say ‘caught exception ‘ ~ .^name });
#$proc.stderr.tap(-> $v { print "Error:  $v" });
#stdout可以定制输出内容格式, 默认情况下当.start后也会输出
say "Starting...";
my $promise = $proc.start;
#
# wait for the external program to terminate
await $promise;
#await 子例程等待一个 promise。
#如果那个 promise 是被 保留 的, await 会获取到返回值。
#如果那个 promise 是被 破坏 的, await 会获取到抛出异常。
#kept就会执行上面的stdout
#broken就会执行stderr
#quit是设置异常后的输出
say "Done.";



















以上是关于perl6: Proc::Async (new)的主要内容,如果未能解决你的问题,请参考以下文章

Perl6多线程2: Promise new/keep/bread/status/result

perl6 一个猜测密码的注入

perl6 中将 字符串 转成十六进制

perl6 单线程破解phpmyadmin脚本

如何从perl6调用Java方法

perl6 Socket: 发送HTTP请求