假设我有一个块网格,7x12.我们使用颜色'*','%','@'和一个空单元' - '.
1 2 3 4 5 6 7
- - - - - - - 1
- - - - - - - 2
% % - - - - - 3
% % - - - - * 4
% % - - - @ % 5
@ @ @ - - @ % 6
@ @ * * * - * 7
* * * % % % % 8
% @ @ % * * …Run Code Online (Sandbox Code Playgroud) 我已经声明了一个类型别名:
export type ActivationPromise = Promise<void>;
Run Code Online (Sandbox Code Playgroud)
我写了以下函数:
async function derp(): ActivationPromise {
await test();
}
function test() : ActivationPromise {
return Promise.resolve();
}
Run Code Online (Sandbox Code Playgroud)
我的tsconfig.json:
{
"compilerOptions": {
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true,
"module": "commonjs",
"target": "es5",
"allowJs": true,
"alwaysStrict": true,
"importHelpers": true,
"lib": [ "dom", "es5", "es2015.promise", "es2015.iterable", "scripthost"]
},
"compileOnSave": false
}
Run Code Online (Sandbox Code Playgroud)
当我编译时,我得到:
错误TS1055:类型'ActivationPromise'不是ES5/ES3中的有效异步函数返回类型,因为它不引用与Promise兼容的构造函数
如果我将返回类型更改为简单Promise<void>,则代码编译正常.仅在使用类型别名时,才会出现问题.由于类型别名应该只是作为一个typedef,为什么会发生这种情况?
我目前正在Powershell中编写一个脚本,允许将SVN存储库中的文件夹复制到另一个文件夹,同时保留历史记录.这种命令的一个例子是:
svnadmin.exe dump $FromRepoPath `
| svndumpfilter.exe include --drop-empty-revs --renumber-revs --preserve-revprops $Folder `
| svnadmin.exe load --ignore-uuid $ToRepoPath
Run Code Online (Sandbox Code Playgroud)
这会在Powershell中导致非常高的内存使用量.似乎Powershell首先执行svnadmin.exe并从SVN admin缓冲stdout,然后执行svndumpfilter并缓冲输出并最终执行svnadmin.exe.
我可以通过创建一个单独的批处理文件来解决它:
@echo off
svnadmin.exe dump %1 | svndumpfilter.exe include --drop-empty-revs --renumber-revs --preserve-revprops %2 | svnadmin.exe load --ignore-uuid %3
Run Code Online (Sandbox Code Playgroud)
然后从Powershell调用它:
cmd.exe /c "SvnHelper.cmd $FromRepoPath $Folder $ToRepoPath"
Run Code Online (Sandbox Code Playgroud)
但这感觉就像一个讨厌和不必要的解决方法.
有没有办法告诉Powershell在管道而不是缓冲时直接传递?
我目前正在构建一个与团队城市互动的Cake构建脚本,我想提供进度消息.我可以轻松报告任务名称,但我无法找出构建脚本中的进度.想想("执行任务1的5").
有没有办法在构建脚本中找到进度?
我想有条件地readonly在<input>. 在 Razor 的 ASP.NET Core 方言中,属性的解释与 System.Web.Mvc 略有不同。
在 System.Web.Mvc 我曾经这样做:
<input name="Name" class="form-control" @(Model.MyCondition ? "readonly" : "") />
Run Code Online (Sandbox Code Playgroud)
在 ASP.NET Core 中,同样不起作用:没有错误,但也没有呈现该属性。
<input asp-for="Name" class="form-control" @(Model.MyCondition ? "readonly" : "" ) />
Run Code Online (Sandbox Code Playgroud)
一旦属性出现在 HTML 中,它就会被强制执行,所以我不能对属性的值做任何事情。此代码段将导致输入始终为只读:
<input asp-for="Name" class="form-control" readonly="@(Model.MyCondition ? "readonly" : "" )" />
Run Code Online (Sandbox Code Playgroud)
现在,我可以通过创建一个响应标签的标签助手来解决这个问题is-readonly,但这对于如此简单的事情来说似乎非常复杂。
如何在不求助于自定义标签助手的情况下有条件地呈现无值属性?
在 ASP.NET Core 中,我有一个在 DI 中注册为作用域的服务。我可以访问该服务中的 HTTP 上下文而不使用IHttpContextAccessor它的开销吗?
asp.net-core ×2
algorithm ×1
batch-file ×1
c# ×1
cakebuild ×1
grid ×1
powershell ×1
razor ×1
typescript ×1