我想以一种直白的方式演示这个异步示例:
Thing[] stuff = await Context.Things
.Where(a => true)
.ToArrayAsync();
Console.WriteLine("Beep");
Run Code Online (Sandbox Code Playgroud)
将以与同步版本不同的顺序执行:
Thing[] stuff = Context.Things
.Where(a => true)
.ToArray();
Console.WriteLine("Boop");
Run Code Online (Sandbox Code Playgroud)
我想表明第二个版本始终在打印输出之前创建数组,而第一个版本的执行情况可能有所不同。
不知道该怎么做,显然很清楚。
免责声明.请注意,这不是一个关于为什么JavaScript中的1和'1'不同的问题.这不是一个关于之间的差异问题==
和===
.这不是关于如何比较1和'1'的问题.
我有下面的代码.
test(input: number) {
let index = 5;
console.log(typeof (index) + " " + typeof (input));
console.log(index === input);
}
Run Code Online (Sandbox Code Playgroud)
第一行打印数字字符串,当然,第二行是false.我不能为我的生活理解它.谷歌搜索20分钟 - 我只看到示例表明接收参数是硬键入的,应该是一个数字.
我错过了什么?
我搭建了一个像这样的 WebAPI 模板。
[HttpGet]
public async Task<ActionResult<IEnumerable<ThingVm>>> GetThings()
{
Task<List<ThingVm>> output = Context.Things
.Select(e => new ThingVm(e))
.ToListAsync();
return await output;
}
Run Code Online (Sandbox Code Playgroud)
我注意到返回的结果不会传达任何状态代码(因为我没有提供 200 或 404 等)。所以我添加了标准的、通常的Ok(...)
调用。
[HttpGet]
public async Task<ActionResult<IEnumerable<ThingVm>>> GetThings()
{
...
return await Ok(output);
}
Run Code Online (Sandbox Code Playgroud)
遗憾的是,计算机并没有意识到该操作并像这样解释了错误。
CS1061“OkObjectResult”不包含“GetAwaiter”的定义,并且找不到接受“OkObjectResult”类型的第一个参数的可访问扩展方法“GetAwaiter”(您是否缺少 using 指令或程序集引用?)
我明白为什么会这样。我不知道如何在保留响应中发出的状态代码的同时解决它。
我在谷歌上搜索了它,但发现了一些非常陈旧的东西,完全不相关的东西和相当不相关的东西。就是这样 - 根本没有太多其他热门歌曲,这也令人惊讶。
如何发出状态代码并应用异步方法?它们不是相互排斥的,是吗?
c# asynchronous asp.net-web-api asp.net-core asp.net-core-2.2
我所描述的调用脚本这里并举例在这里。它正在运行,我可以看到控制台的输出(hazaa和shazoo)。但是,尽管测试了以下两个版本,但其中声明的方法似乎并不存在。
Invoke-Expression -Command $target
$target | Invoke-Expression
Run Code Online (Sandbox Code Playgroud)
文件的内容是这样的。
Write-Host "Hazaa"
function TestPower { Write-Host "I got the power..." }
Write-Host "Shazoo"
Run Code Online (Sandbox Code Playgroud)
当我在控制台中执行相同的函数定义时,它就在那里,工作正常。我在手动执行或从其他文件调用时没有收到任何错误。也没有警告。
最奇怪的部分是在调用脚本中完成的函数定义(id 是调用执行的那个,而不是作为调用目标的那个)。
我有一个面板,我的想法是让它由包含两个文本框的堆栈面板填充.当用户在左侧框中输入内容时,应在右侧生成内容,如下所示.
<StackPanel Orientation="Horizontal">
<TextBox Name="Lefty" LostFocus="FillMyBuddy" />
<TextBox Name="Righty" LostFocus="FillMyBuddy" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
但是,我想添加一个添加/删除行的选项,因为我希望不限制自己的数量,所以我对两点的方法有点不确定.
以编程方式影响窗口的标记结构是否是一个很大的禁忌?或者在运行时添加/删除面板是否可以?
如果我希望Lefty 3 号在Righty 3 号中改变东西,推荐的方法是什么?还有什么比检查发件人和从父母那里拉出兄弟姐妹更整洁?我想为任何和所有行使用单个事件处理程序(知道操作总是在行内).
我偶然偶然发现了一个网站,网址中有一个红色斑点.说真的,我从来没有见过这样的东西.那是怎么回事?!
http://blacklistdeclassified.net/2015/10/30/%F0%9F%94%B4-script-35-arioch-cain/
NB需要实际导航到页面才能看到它.以下是我系统(WinX,FF)的截图.红色的东西不是PhotoShopped.它实际上是红色的!
如何在JSFiddle中为不支持ES6的浏览器(如IE)启用ES6?
c# ×3
html ×2
javascript ×2
.net-core ×1
asp.net-core ×1
async-await ×1
asynchronous ×1
css ×1
ecmascript-6 ×1
events ×1
firefox ×1
jsfiddle ×1
powershell ×1
typescript ×1
url ×1
wcag ×1
wpf ×1
xaml ×1