13 Star 69 Fork 22

johnsonyl/cpps

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
asyncio.cpp 1.21 KB
一键复制 编辑 原始数据 按行查看 历史
johnsonyl 提交于 2023-10-19 15:47 +08:00 . 增加模板生成字符串功能
async var test()
{
println("do test function");
await asyncio.wait_for(asyncio.sleep(2000),100);
println("do test function done");
return "test";
}
async var test1()
{
println("do test1 function");
await asyncio.sleep(1000);
println("do test1 function done");
return "test1";
}
async var test2(){
throw "haha";
return "test2";
}
var test_call_back(var task, var context)
{
println(task.get_name());
println(context);
}
async var main() {
var task1 = asyncio.create_task(test());
task1.set_name("Custom names are used to distinguish");
task1.add_done_callback(test_call_back, "Custom context content");
var task2 = asyncio.create_task(test1());
test2().then([](var result){
println("result{result}");
}).catch([](var e){
echo e;
});
println(await test1());
var ret = await asyncio.wait(task1);
if (ret.timeout())
{
println("task1 was timeouted.");
}
println("state:{ret.state()}");
println(ret.result());
try {
println(await task2);
}
catch (var e)
{
println("oh,we catch some error");
println("{e.what()} line:{e.line()} file:{e.file()}");
println(e.callstack());
}
println("finish");
}
asyncio.run(main());
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/cppscript/cpps.git
git@gitee.com:cppscript/cpps.git
cppscript
cpps
cpps
master

搜索帮助