当前位置: 首页>>代码示例>>C++>>正文


C++ Promise::then方法代码示例

本文整理汇总了C++中Promise::then方法的典型用法代码示例。如果您正苦于以下问题:C++ Promise::then方法的具体用法?C++ Promise::then怎么用?C++ Promise::then使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Promise的用法示例。


在下文中一共展示了Promise::then方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: runtime_error

    void Core<T>::resolve(const Promise<T>& promise) {
	if (_status != PENDING)
	    throw std::runtime_error("The promise is already resolve or reject");

	Promise<T> p = promise;

	Deferred<T> d(lock());
	p.then([d] (const T& value) mutable {
		d.resolve(value);
	    });
	p.otherwise([d] (const std::string& err) mutable {
		d.reject(err);
	    });
    }
开发者ID:Billy-Bichon,项目名称:djyayo,代码行数:14,代码来源:Core.hpp

示例2: main

int main()
{
    Deferred<int> defer = deferred<int>();
    Promise<int> p = defer.promise();

    Promise<std::string> p2 = p.then ([] (int a) -> std::string {
	    std::cout << "Defered was resolved with [" << a << "]" << std::endl;
	    return "Success";
	});

    p.otherwise([] (const std::string& error) -> void {
	    std::cout << "Defer was rejected with [" << error << "]" << std::endl;
	});


    auto p3 = p2.then([] (const std::string& result) -> void {
	    std::cout << "2nd Defer was resolved with [" << result << "]" << std::endl;
	});

    p2.otherwise([] ( const std::string& err) {
	    std::cout << "2nd Defer was rejected with [" << err << "]" << std::endl;
	});


    p3.then ([] (const bool& b) { 
	    std::cout << "3rd defer resolved with [" << b << "]" << std::endl;
	});


    //
    defer.resolve(42);
    //
    // OR
    //
    // defer.reject("There was an error");
    //
}
开发者ID:jerome-quere,项目名称:whenpp,代码行数:37,代码来源:main.cpp


注:本文中的Promise::then方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。