我正在通过 js 互操作向服务器发出POST请求Blazor。发布请求到达服务器,进行计算,然后发回。处理程序js调用resolvePromise,但数据不会返回到Blazor。
JS 互操作
window.methods={
submit: function () {
return new Promise((resolve, reject) => {
var form = document.getElementById("newTestForm");
var data = new FormData(form);
var xhr = new XMLHttpRequest();
var method = form.getAttribute('method');
var action = form.getAttribute('action');
xhr.open(method, action);
xhr.onload = function () {
if (xhr.status == 200) {
resolve(xhr.response); //data gets here in correct format !!!!!!!
}
else if (xhr.status != 200) {
reject("Failed to submit form with …Run Code Online (Sandbox Code Playgroud) 我尝试使用 FFI 从 Haskell 调用 C 函数,但不断收到此错误:
ghc.exe:^^ 无法加载“getSize”,依赖性未解决。请参阅上面的顶部条目。
main: ByteCodeLink: can't find label 在交互式链接期间,GHCi 找不到以下符号:getSize 这可能是由于您没有要求 GHCi 加载当前会话所需的额外对象文件、存档或 DLL。重新启动 GHCi,使用 -L/path/to/object/dir 和 -lmissinglibname 标志指定缺少的库,或者只需在 GHCi 命令行上命名相关文件即可。或者,此链接失败可能表明 GHCi 中存在错误。如果您怀疑后者,请将错误报告发送至:
glasgow-haskell-bugs@haskell.org
我正在stdio.h我的 C 库中使用该库:
C库
// lib.h
#include <stdio.h>
double getSize() {
double size = 0;
scanf("$f", &size);
return size;
}
Run Code Online (Sandbox Code Playgroud)
FFI模块
{-# LANGUAGE ForeignFunctionInterface #-}
module Ffi where
import Foreign
import Foreign.C.Types
foreign import ccall "lib.h getSize" c_size :: IO Double
Run Code Online (Sandbox Code Playgroud)
主要的
module Main where
import Ffi
main …Run Code Online (Sandbox Code Playgroud) 大家好,我正在尝试为 vscode 安装 ghc-mod,但我遇到了这个问题:
**$ stack install ghc-mod**
Populated index cache.
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for ghc-mod-5.8.0.0:
Cabal-2.0.1.1 from stack configuration does not match >=1.18 && <1.25 (latest matching version
is 1.24.2.0)
base-4.10.1.0 from stack configuration does not match >=4.6.0.1 && <4.10 (latest matching
version is 4.9.1.0)
mcabal-helper must match <0.8 && >=0.7.3.0, but the stack configuration has no specified version
(latest matching version is 0.7.3.0)
extra-1.6.8 from stack configuration …Run Code Online (Sandbox Code Playgroud) 您好,我无法从我的项目(.NET Core 2.1控制台应用程序)生成可执行文件。我已经检查了输出文件,输出类型为控制台应用程序。它构建成功(程序可以正常运行),但是没有可执行文件。
我曾与调试和释放的尝试都和我已经调查bin\和obj\文件夹为可执行文件却是没有。
这是我的Bin的样子:
我调查了一下Properties->Application,一切都设置好了,但仍然没有可执行文件。
您好,有人可以解释一下如何在代数数据类型或记录语法的字段上使用monadic绑定运算符?
data M = M {myfield :: Int}
data N = N Int
Run Code Online (Sandbox Code Playgroud)
因此,M如果我想从一个IO Int动作中提取值到myfield 它似乎我不能说:
a = M { return 3 >>= value }
Run Code Online (Sandbox Code Playgroud)
另外我怎么能绑定一个N类型?
您好,我正在尝试向Redisdocker 容器发出命令。容器已启动并正在运行。我使用了以下命令:
docker run -d -p 8300:85 -t redis

但是,当我尝试从我的终端使用时:
redis-cli -p 8300没有任何反应。
它只是看起来在等待什么。
我如何与我的 redis 容器通信;我究竟做错了什么?
PS在我将 redis 端口设置为默认值后,6379我在使用时得到一个 id 作为响应,docker run但它仍然停在那里(第一张图片):
从另一个终端(第二张图片)您可以看到,当第一个终端被阻止时,该实例已创建但未启动。
PS 2等了 10 分钟后,我终于在运行 redis 容器时收到一条错误消息:
$ docker run -d -p 8300:6379 -t redis
244d898dcfb0cd1da4828ee99a16bdd12f62499f99e8dc3ee17af9bacefe5b41
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: failed to create endpoint upbeat_blackwell on network nat: HNS failed with error : You were not connected because a duplicate name exists on the network. If …Run Code Online (Sandbox Code Playgroud) 您好我正在寻找使用Data.Text.intercalate和从Hackage我不明白为什么如果该方法具有以下签名:
intercalate :: Text -> [Text] -> Text
为什么呢,这有用吗?
T.intercalate "NI!" ["We", "seek", "the", "Holy", "Grail"]
"WeNI!seekNI!theNI!HolyNI!Grail"
Run Code Online (Sandbox Code Playgroud)
你不应该Data.Text.pack在列表的每个元素之前应用它吗?
来源:http://hackage.haskell.org/package/text-1.2.3.1/docs/Data-Text.html
在我的情况下,我想打包以下内容:
输入:"{",mytext,"}" #mytext::Text
我与做:
Prelude.intercalate (Data.Text.pack ",") [pack "{",mytext, pack "}"]还是
(pack "{") ++ mytext++ pack "}")
有人可以解释我为什么不Data.Text露出相同的方法Data.List(在我们的例子intercalate),它是如何使之间的隐式转换Char和Text?
您好我有以下问题:
我有一个ASP .NET Core服务器是码头工人,美化版,运行在一个容器中docker-compose通过。我将请求发送到我的服务器postman和我得到500-internal server error。
我试过了:
docker attach myserver 而且我在控制台中什么也没得到。docker logs myserver 我只会得到初始日志(启动)。telnet hostname port 它似乎可以连接,但我不知道如何创建请求。我怎样才能让我的手在console我的ASP .NET Core服务器?
码头工人组成
version: '3.3'
services:
db:
image: redis:4.0.5-alpine
container_name: redis0
networks:
- redis-net
ports:
- 6381:6379
backend:
image: server
container_name: server0
build: ./Server
command: ["dotnet","Server.dll"]
depends_on:
- db
ports:
- 9400:9300
networks:
- redis-net
networks:
redis-net:
Run Code Online (Sandbox Code Playgroud)
dockerfile(用于服务器)
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY ./publish /app
EXPOSE 9300 …Run Code Online (Sandbox Code Playgroud) 我有2个分量A和B,B是一个孩子A.是有什么样的EventEmitter(Angular)的Blazor?如何在父级中附加可以响应其子项输出的事件处理程序?
儿童
<button onclick="Emit">Press me</button>
@functions(){
[Parameter] // i do not know how the `Output` is called
private string Pressed {get;set;}
public void Emit()
{
//somehow emit `Pressed` to the parent , make him respond
}
}
Run Code Online (Sandbox Code Playgroud)
父组件
<Child [Pressed]="doSomething"> </Child>
@functions{
doSomething(string value){
Console.WriteLine("Child sent me : "+value);
}
}
Run Code Online (Sandbox Code Playgroud)
PS对不起语法错误,我对blazor很新.
我正在尝试使用JSInterop提供的读取一些文件Blazor。问题是,即使在.C#我等待该方法,似乎它也没有。因此await我无法检索 提供的结果js。
C#
<input name="start" type="file" onchange="@(async(x)=>await OnChangeS(x))" />
@functions{
private const string S = "start";
public async Task OnChangeS(UIChangeEventArgs ev) {
var str = await JSRuntime.Current.InvokeAsync<string>("methods.readFile", S);
Console.WriteLine("From blazor data is:" + (string.IsNullOrEmpty(str) ? "empty" : str));
}
}
Run Code Online (Sandbox Code Playgroud)
JS
window.methods = {
readFile: function (fileName) {
let reader = new FileReader();
var file = document.querySelector('input[type=file ][name=' + fileName + ']').files[0];
var data = null;
reader.onload = () => …Run Code Online (Sandbox Code Playgroud) haskell ×4
blazor ×3
interop ×3
docker ×2
.net ×1
asp.net-core ×1
build ×1
c ×1
c# ×1
eventemitter ×1
executable ×1
ffi ×1
filereader ×1
ghc-mod ×1
logging ×1
monads ×1
promise ×1
redis ×1
redis-cli ×1