.net 为什么PowerShell中的ScriptBlock会延迟输出,直到ScriptBlock完成?
我有以下代码:.net 为什么PowerShell中的ScriptBlock会延迟输出,直到ScriptBlock完成?,.net,powershell,.net,Powershell,我有以下代码: Function-Step "Long operation" { MyLongRunningFunction } function Function-Step { param([string]$message,[ScriptBlock]$block) Write-Host $message Read-Host $block.Invoke() } MyLongRunningFunction在运行时将信息写入标准输出,但直到函数突然完成,
Function-Step "Long operation" { MyLongRunningFunction }
function Function-Step
{
param([string]$message,[ScriptBlock]$block)
Write-Host $message
Read-Host
$block.Invoke()
}
MyLongRunningFunction
在运行时将信息写入标准输出,但直到函数突然完成,它才会显示在控制台中
它似乎正在吞噬MyLongRunningFunction
的所有输出,然后,它同时抛出所有输出
如何避免这种行为?使用作业?这是最简单的方法。使用@PetSerAl-Answer。这将保留函数本身的句柄。