当前位置: 首页 > news >正文

电商网站首页图片切换怎么做的新闻报道最新消息今天

电商网站首页图片切换怎么做的,新闻报道最新消息今天,亚马逊海淘官网,建设库官网查询系统模拟常用的几种函数调用CallBack的写法。测试调用都放在函数t6_call_back_task中。我正在学习Rust&#xff0c;有不对或者欠缺的地方&#xff0c;欢迎交流指正 type Callback std::sync::Arc<dyn Fn() Send Sync>; type CallbackReturnVal std::sync::Arc<dyn Fn…

模拟常用的几种函数调用CallBack的写法。测试调用都放在函数t6_call_back_task中。我正在学习Rust,有不对或者欠缺的地方,欢迎交流指正

type Callback = std::sync::Arc<dyn Fn() + Send + Sync>;
type CallbackReturnVal = std::sync::Arc<dyn Fn() -> Result<String, i32> + Send + Sync>;
type CallbackResult = std::sync::Arc<dyn Fn(Result<String, i32>) + Send + Sync>;pub(crate) trait EventListener {fn on_action1(&self, code: i32);fn on_action2(&self, val: String, code: i32);
}pub(crate) struct Executor {call_back: fn(),call_back2: core::option::Option<Callback>,call_back3: core::option::Option<CallbackReturnVal>,call_back4: core::option::Option<CallbackResult>,listener: Box<dyn EventListener + 'static>,
}struct DefaultEventListener;impl EventListener for DefaultEventListener {fn on_action1(&self, code: i32) {}fn on_action2(&self, val: String, code: i32) {}
}impl Executor {pub fn new() -> Self {let default_callback: fn() = || {println!("Default callback executed");};Executor {call_back: default_callback,call_back2: None,call_back3: None,call_back4: None,listener: Box::new(DefaultEventListener {}),}}pub fn set_call_back(&mut self, cb: fn()) {self.call_back = cb;}pub fn set_call_back2<CB>(&mut self, call_back: CB)where CB: Fn() + Send + Sync + 'static {self.call_back2 = Some(std::sync::Arc::new(call_back));}pub fn set_call_back3<CB>(&mut self, call_back: CB)where CB: Fn() -> Result<String, i32> + Send + Sync + 'static {self.call_back3 = Some(std::sync::Arc::new(call_back));}pub fn set_call_back4<CB>(&mut self, call_back: CB)where CB: Fn(Result<String, i32>) + Send + Sync + 'static {self.call_back4 = Some(std::sync::Arc::new(call_back));}pub fn set_call_back5(&mut self, listener: Box<dyn EventListener + 'static>) {self.listener = listener;}pub fn process_events(&self) {(self.call_back)();//call_back2if let Some(call_back2_type) = &self.call_back2 {call_back2_type();call_back2_type();} else {println!("No callback2 to execute.");}//call_back3if let Some(call_back3_type) = &self.call_back3 {let result = call_back3_type();} else {println!("No callback3 to execute.");}//call_back4if let Some(call_back4_type) = &self.call_back4 {let ok: Result<String, i32> = Result::Ok("success".to_string());let error_code: Result<String, i32> = Result::Err(-10);call_back4_type(ok);} else {println!("No callback4 to execute.");}//call_back5self.listener.on_action1(1);self.listener.on_action2("".to_string(), -1);}
}pub(crate) struct EventListenerImpl {}impl EventListener for EventListenerImpl {fn on_action1(&self, code: i32) {println!("-------on_action1--------code: {}", code);}fn on_action2(&self, val: String, code: i32) {println!("-------on_action2--------code: {} , val: {}", code, val);}
}pub(crate) fn t6_call_back_task() {let mut executor = Executor::new();executor.set_call_back(|| {println!("-------call_back----1----");});executor.set_call_back2(|| {println!("-------call_back----2----");});executor.set_call_back3(|| {println!("-------call_back----3---");Ok("Callback executed successfully!".to_string())});executor.set_call_back4(|result: Result<String, i32>| {println!("-------call_back----4----result: {:?}", result);});let event_listener = Box::new(EventListenerImpl {});executor.set_call_back5(event_listener);executor.process_events();
}
http://www.yidumall.com/news/34143.html

相关文章:

  • 婚纱类网站素材百度霸屏推广多少钱一个月
  • 织梦网站做自动生成地图最新热搜新闻
  • 企业网站如何做seo最新军事头条
  • 哪个网站 可以做快递单录入百度推广方式
  • 宁波网站推广厂家排名有什么平台可以推广
  • 区块链技术做网站网络推广软件免费
  • 学好wordpress怎么赚钱seo营销推广服务公司
  • 独立站引流的方式有哪些搜索百度网址网页
  • 深圳网站建设培训学校长沙seo排名扣费
  • 六安网站制作seo教学平台
  • 手机网站横向切换缅甸今日新闻
  • 用自己电脑做网站服务器-phpstudy+花生壳免费直链平台
  • 广州公司营销型网站建设网络推广岗位职责和任职要求
  • 禁止域名访问网站网络推广员为什么做不长
  • 店铺只做商品展示网站怎么做手机访问另一部手机访问文件
  • 古蔺网站建设百度 官网
  • 龙岩制作b2b网站电商网站设计方案
  • 网站推广的方法南宁网络推广有几家
  • 网站建设页面美工seo专业培训seo专业培训
  • php网站开发实践指南公众号推广费用一般多少
  • 华为荣耀手机商城官方网站企业网站建设需求分析
  • 图片搜集网站怎么做东莞网站建设哪家公司好
  • 昆山网站制作昆山网站建设企点qq官网
  • 一个阿里云服务器可以放几个网站在线域名ip查询
  • 湖北省工程建设信息官方网站在线识图
  • 怎样建立自己网站多少钱网络营销师证书怎么考
  • html做网站标题的代码山东seo百度推广
  • 房地产网站开发百度极速版客服电话
  • 长春市大学生网站建设软文范文大全
  • 可以做动画的网站有哪些单页网站制作