你怎么写“你好,世界!”对于 AngularJS 中的彗星?

Posted

技术标签:

【中文标题】你怎么写“你好,世界!”对于 AngularJS 中的彗星?【英文标题】:How do you write a "Hello, world!" for Comet in AngularJS? 【发布时间】:2014-05-08 15:01:00 【问题描述】:

我已经看过并且无法找到如何在 AngularJS 中处理基本的 Comet 概念验证。我正在查看由客户端重复 Ajax 调用而不是流式处理 javascript 实现的 Comet。

如果我有服务器端 CGI:

#!/bin/bash
echo "Content-type: application/json"
echo ""
echo "'"Hello world at "`/bin/date`"'!'"'"

什么是基本的 AngularJS 概念证明,它将每秒查询服务器,并以网络延迟等为模,显示“Hello world!”包括服务器时间?

【问题讨论】:

不确定您所说的“模网络延迟等”是什么意思,您是否只是在寻找如何从 Angular 进行异步调用的示例? 一个重复的异步调用,是的。在真实网络上,网络延迟和其他条件可能会破坏应用程序的行为,因为它显示服务器时间;我基本上想说,“忽略其他细微差别,如何编写一个 AngularJS Comet 来消耗 CGI 脚本的输出并显示服务器时间?” 【参考方案1】:

Plunkr

http://plnkr.co/edit/6kpLplq5hy9e2sXMaEsG?p=preview

html

<!DOCTYPE html>
<html>

  <head>
    <script data-require="angular.js@*" data-semver="1.2.15" src="http://code.angularjs.org/1.2.15/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-app="myApp" ng-controller="MyCtrl">
    data.theDate
  </body>

</html>

JS

angular.module("myApp", []).service("UpdatingService", function($http, $timeout)
  var service = 
    data:,

    getData:function()
      $http.get("someData.json").success(function(result)
        angular.copy(result, service.data)
        service.data.theDate+="    "+new Date();
      );
    
  ;

  cancelRefresh = $timeout(function myFunction() 
      service.getData();
      cancelRefresh = $timeout(myFunction, 1000);
  ,1000);


  return service;
).controller("MyCtrl", function($scope, UpdatingService)
  $scope.data = UpdatingService.data;
);

所以我在上面展示了我通常会如何做到这一点。首先创建一个服务来处理请求和存储数据。然后制作一个控制器并注入所述服务。在服务中从 angular 注入 $http 和 $timeout 服务,这样我们就可以发出 ajax 请求并可以重复请求,从而轮询服务器。由于没有真正的 setInterval,$timeout 回调会创建一个新的 $timeout 来继续循环,如果您需要在某个时间点停止计时器,您可以使用 cancelRefresh,详情请参阅下面的链接。

using setInterval in angularjs factory

【讨论】:

以上是关于你怎么写“你好,世界!”对于 AngularJS 中的彗星?的主要内容,如果未能解决你的问题,请参考以下文章

你好,世界——新手的第一个程序

你好世界!

请教大神 用angularjs怎么写点击图片放大 ?跪谢!

01鸿蒙入门 从安装与HelloWorld (你好,世界)

angularjs的ng-repeat循环列表中序号怎么写

C++自学教程第一课——你好世界,我是柠檬鲸。