gpt4 book ai didi

dart - 客户端,那么()还是其他?

转载 作者:行者123 更新时间:2023-12-03 03:10:50 25 4
gpt4 key购买 nike

我如何在客户端使用“ future ”?

并且,如何在没有catch事件的情况下阻止代码执行?

import 'dart:html';
import 'dart:convert';
import 'dart:async';

Map data;

Future<String> ft_get_pseudo()
{
InputElement button;
InputElement text;

text = querySelector('[name="pseudo"]');
button = querySelector('[name="push"]');
button.onClick.listen((_) => text.value);
}

void main()
{
WebSocket wss;
String encode;

data = new Map();
wss = new WebSocket('ws://127.0.0.1:4040/ws');
ft_get_pseudo().then((name)
{
data['pseudo'] = name;
encode = JSON.encode(data);
wss.onOpen.listen((_) => wss.send(encode));
wss.onMessage.listen((msg) => print("Msg received : ${msg.data}"));
});
}

我在ecmascript 6中看到了Promise函数,有一种使用它的方法,还是这个主意?

HTML:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<script type="application/dart" src="client.dart"></script>
<link rel="stylesheet" href="style.css" type="text/css">
<title>Client</title>
</head>
<body>
<div id="console">
</div>
<input type="text" name="pseudo" size="20" placeholder="pseudo">
<input type="button" name="push" value="Send">
</body>
</html>

最佳答案

我认为您想做这样的事情,但我还不完全了解您要完成的工作。
您可以仅添加一条您有不同需求的评论吗?

Map data;

void main() {
//(querySelector('[name="push"]') as ButtonInputElement).onClick.listen(btnClickHandler);
(querySelector('[name="push"]') as ButtonInputElement).onClick.first.then(btnClickHandler);

// this would work too, because every element has the click event.
// querySelector('[name="push"]').onClick.listen(btnClickHandler);
}

void btnClickHandler(MouseEvent e) {
String name = (querySelector('[name="pseudo"]') as TextInputElement).value;

data = {'pseudo': name};
String encode = JSON.encode(data);

WebSocket wss = new WebSocket('ws://127.0.0.1:4040/ws');
wss.onOpen.listen((_) => wss.send(encode));
wss.onMessage.listen((msg) => print("Msg received : ${msg.data}"));
}

关于dart - 客户端,那么()还是其他?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22734574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com