首页 > 其他分享 >promise-cpp应用--01简单应用

promise-cpp应用--01简单应用

时间:2023-01-17 11:24:22浏览次数:30  
标签:defer 01 HEADONLY -- ch promise cpp include

promise-cpp是一种 C++ promise/A+ 库


#include <iostream>
#include <future>
#include <string>
#include <sstream>
#include <stdexcept>
#include <functional>
#include <locale>
#include <codecvt>
//
#ifndef  PROMISE_HEADONLY
  #define  PROMISE_HEADONLY
#endif
#include "promise-cpp/promise.hpp"
//

------------------------------

//--------------------------------------------------------------------------------------------

static promise::Promise testPromise()
{

  return promise::newPromise([&](promise::Defer &defer)
                             {
                               //
                               defer.resolve(9567, 'A');
                               //
                             })
      .then(                  //
          [&](int n, char ch) // function on_resolved
          {
            //
            printf("%d %c\n", n, ch); // will print 9567 here
                                      //
          },                          //
          []()                        // function on_rejected
          {
            //
            printf("promise rejected\n");
            // will not run to here in this code
          });
}

------------------------------

void PromiseCommand::OnClick()
{
  //
  testPromise();
}

标签:defer,01,HEADONLY,--,ch,promise,cpp,include
From: https://www.cnblogs.com/gispathfinder/p/17057368.html

相关文章

  • linux 软链接 硬链接 区别
    来源  https://www.cnblogs.com/oceanftd/p/13475643.html 相关概念:链接:简单说,链接就是一种文件共享的方式,是POSIX中的概念,主流文件系统都支持链接文件。in......
  • Spring Boot 日志文件
    SpringBoot日志文件日志文件是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。......
  • GIT命令操作_一期
    (1)如何使用gitmerge方法合并master分支代码到自己分支gitcheckoutmaster#切换本地分支为mastergitpull#更新本地分支master代码为远程最新代码gitcheckout[......
  • Golang 跨平台编译
    CGO是什么cgo是在Android和iOS上运行Go程序的关键,它允许GO程序与C语言库相互操作未用到CGO的时候,建议编译的时候禁用CGO,比如编译ARM架构的时候就需要打开该选项......
  • Apache Flink 1.16.0部署手册
    1参考文献ApacheFlink官网:https://flink.apache.org/downloads.html2硬件环境部署2.1系统配置说明系统CPU内存硬盘IPUbuntu22.04.1LTS416G200G1......
  • 推荐一个好用的屏幕截图和悬浮图片软件
    之前一直用的setun但是windows10打不开了,这个软件在windows10正常运行。是免费软件下面是它的官网图片:  Snipaste是一个简单但强大的截图工具,也可以让你将截图贴......
  • kafka
    一、kafka简介Kafka被称为下一代分布式消息系统,是非营利性组织ASF(ApacheSoftwareFoundation,简称为ASF)基金会中的一个开源项目,比如HTTPServer、Hadoop、ActiveMQ......
  • 从log4j切换到logback后项目无法启动
    1、背景有个旧项目之前使用的是log4j2来打印日志的,因为某些原因,同事想换成logback。换成logback改动也很简单,大致就一下2步:删除log4j2.xml配置,新增logback.xml配置。......
  • VUE3企业级项目基础框架搭建流程(2)
    typescript安装这里使用的vue项目语言为:TypeScript,不了解的可以先去学习一下。TypeScript中文网正常情况下安装typescript的命令为://全局安装npminstall-gtypescri......
  • Linux 驱动像单片机一样读取一帧dmx512串口数据
    硬件全志R528目标:实现Linux 读取一帧dmx512串口数据。问题分析:因为串口数据量太大,帧与帧之间的间隔太小。通过Linux自带的读取函数方法无法获取到帧头和帧尾,读取到的数......