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

企业网站推广建议嘉兴网站建设兼职

企业网站推广建议,嘉兴网站建设兼职,wordpress调用文件上传,专业seo网站优化推广排名教程回调函数中有回调函数吗因为是我的书包#xff0c;所以我喜欢JavaScript 。 实际上#xff0c;我已经开始喜欢JavaScritp的面向异步回调的编程风格 。 因此#xff0c;当我发现自己处于非JavaScript环境中时#xff08;例如Java#xff09; #xff0c;我往往会错过使用回… 回调函数中有回调函数吗 因为是我的书包所以我喜欢JavaScript 。 实际上我已经开始喜欢JavaScritp的面向异步回调的编程风格 。 因此当我发现自己处于非JavaScript环境中时例如Java 我往往会错过使用回调的机会。 好消息是您可以在Java中模拟异步回调。 实际上我最近在一个我称为Ahoy的图书馆中做到了这一点 这是适用于AWS的Java SQS库的异步SQS适配器 。 对于初学者来说 SQS是一个基于云的消息传递平台 –使用SQS您可以创建队列并将消息放入这些队列然后可以稍后或通过其他某个过程或相同的确切过程读取这些消息。 所有这些都利用了Amazon的大规模冗余架构在面对并发访问时提供了极高的可用性。 Java中的异步回调可以通过两个功能实现匿名类包含一个方法和Java的java.util.concurrent包。 因为Java不允许您轻松地将函数或方法作为参数传递以模拟回调所以您可以创建一个包含一个基本上模仿函数的方法的接口。 对于Ahoy有两个接口 MessageSendCallback和MessageReceivedCallback –都有一个方法分别是onSend和onReceive 。 因此Ahooy的主要类被称为SQSAdapter SQSAdapter公开了两个简单的方法 send和receive并且都采用了它们相关的回调接口。 要理解的最直接的回调是receive方法。 可以想象 receive是为了处理从特定队列接收到消息时的行为。 因此 receive方法定义如下 SQSAdapter的接收方法 public void receive(final MessageReceivedCallback callback) {} MessageReceivedCallback接口如下所示 MessageReceivedCallback接口 public interface MessageReceivedCallback {public void onReceive(String messageId, String message); } 请注意 onReceive方法需要一个消息ID特定于SQS和消息本身-在SQS的情况下它始终是一个String 请记住 String可以容纳您想要的任何内容JSONXML字节序列等。 至此客户淘 在收到消息时提供消息的预期行为。 此行为可能是将某些内容写入数据库生成另一条消息然后将其发送到另一个队列您命名。 现在有趣的部分是Ahoy的receive方法的实现。 为了实现异步性我使用了Java的java.util.concurrent包可悲的是它似乎不受欢迎。 接收方法的实现与回调被调用 private void receive(final AmazonSQS sqs, final String queueURL, final MessageReceivedCallback callback) {pool.execute(new Runnable() {public void run() {final ListMessage messages sqs.receiveMessage(new ReceiveMessageRequest(queueURL).withMaxNumberOfMessages(10).withWaitTimeSeconds(20)).getMessages();if (messages.size() 0) {for (final Message message : messages) {callback.onReceive(message.getMessageId(), message.getBody());sqs.deleteMessage(new DeleteMessageRequest(queueURL, message.getReceiptHandle()));}}}}); } 使用固定的线程池将创建一个线程该线程等待消息到达特定队列。 当显示一条消息时将为每条消息调用传入的MessageReceivedCalledback 。 有关此示例对Ahoy客户的工作方式的示例下面是一个测试用例用于验证回调的执行 接收方法已实现 final boolean[] wasReceived {false}; ahoy.receive(new MessageReceivedCallback() {public void onReceive(String messageId, String message) {wasReceived[0] true;assertNotNull(message id was null, messageId);assertEquals(message wasnt origMessage, origMessage, message);} }); 同样发送消息是相似的–创建了一个新的Runnable实例该实例发送特定的消息并调用MessageSentCallback的onSend方法中传递的onSend 并传递新发送的消息的ID。 send方法也是异步的 private void send(final AmazonSQS sqs, final String queueURL, final String message, final MessageSentCallback callback) {pool.execute(new Runnable() {public void run() {SendMessageResult res sqs.sendMessage(new SendMessageRequest(queueURL, message));if (callback ! null) {callback.onSend(res.getMessageId());}}}); } 顺便说一下AWS Java SDK 确实提供了一个异步客户端 。 但是此客户端的实现利用了Java的Futures 。 尽管Futures是一个简洁的概念 但Ahoy的实现比Futures更方便 至少对我来说以及我使用SQS的方式 因为一旦发送或接收消息就不会涉及任何轮询。 虽然不一定在Java中本地支持回调但是您可以很好地模拟它们并实现与JavaScript相同的代码简洁性。 而且如果您需要方便的方法来与AWS SQS进行交互请给Ahoy 尝试一下 你能挖出来吗伙计 参考 嗨有回调 来自The Disco Blog博客的JCG合作伙伴 Andrew Glover。 翻译自: https://www.javacodegeeks.com/2013/10/ahoy-there-callbacks.html回调函数中有回调函数吗
http://www.zqtcl.cn/news/708669/

相关文章:

  • 南昌做兼职的网站佛山网站建设公司排名
  • 购物网站建设推进表国外设计素材网站
  • 广州网站建设推广公司有哪些有一个网站专门做民宿
  • 安徽省建设干部网站淘客网站超级搜怎么做
  • 网站地图提交地址网站地图可以自己做么
  • 电子商务网站建设与推广wordpress手机大标题
  • 网站页面上的下载功能怎么做ps扩展插件网站
  • 打开网站出现directory今天时政新闻热点是什么
  • 高校校园网站建设与运行网站规划教学设计
  • 包头手机网站制作seo推广手段
  • 汕头网站推广seo品牌网站建设 app建设
  • 网站后台word编辑器如何申请一个网站 做视频
  • 源代码做网站网站编辑可以做运营吗
  • 小游戏网站模板无锡网站建设818gx
  • 娄底做网站陕西网站维护
  • 电子商务网站建设首要问题是佛山网站设计步骤
  • iphone网站哈尔滨做平台网站平台公司吗
  • 公司网站制作高端有什么网站可以做外贸出口信息
  • 旅游网站建设ppt自己动手制作网站
  • 做注册任务的网站有哪些seo搜索排名优化
  • 用php做网站和go做网站网站建设 完成
  • 做平面设计在那个网站上找图好网站广告出价平台
  • 网站点击率查询wordpress忘记后台账号
  • 网站怎么做全屏的网站建设报价比较表
  • 商城网站项目案例简单的明星个人网站建设论文
  • 腾讯云建网站如何利用谷歌云做自己的网站
  • 合肥网站搭建著名的网站建设公司
  • win7的iis怎么制作网站网页制作基础代码
  • 黄页网站大全免费网在线进一步优化供给推动消费平稳增长
  • dw中怎样做网站链接网页版qq登录入口账号密码