小编kee*_*sea的帖子

AngularJS:基于Google Maps API的单元测试应用程序

我需要为AngularJS应用程序编写单元测试,该应用程序大量使用Google Maps API v3(计算距离,在地图中创建标记等),我知道我应该以某种方式创建或模拟地图画布,以便我可以单元测试使用Google Maps的函数API并在该画布上创建标记,但我不知道如何做到这一点,我无法找到任何关于如何基于Google Maps API进行单元测试(最好使用AngularJS/Jasmine)应用程序的好教程/资源.

任何工作示例 - 即使是最简单的 - 像这样的单元测试将非常感激.

javascript google-maps angularjs

5
推荐指数
1
解决办法
2501
查看次数

AngularJS:循环POST请求并将每个索引传递给相关的响应

我试图使用AngularJS执行多个http POST请求,我需要创建一个成功完成请求的对象 - 类似这样的事情:

var params = [1, 2, 3],
    url,
    i,
    done = {};

for (i in params) {
    url = '/dir/'+ params[i];
    $http.post(url, {"some_request": "not important"}).
        success(function(response) {
            done[params[i]] = 'successful';
        });
}
Run Code Online (Sandbox Code Playgroud)

我想得到一个包含所有成功请求的对象,如下所示:

done = {1: 'successful', 2: 'successful', 3: 'successful'};
Run Code Online (Sandbox Code Playgroud)

但显然由于http请求的异步性质,我只能得到

done = {3: 'successful'};
Run Code Online (Sandbox Code Playgroud)

因为当http请求返回响应时,循环已经完成并且是它的最后一个值.

这些请求的顺序并不重要,我不想将它们链接起来(异步执行它们应该更快).如何将该循环索引传递给这些响应?谢谢.

javascript angularjs

4
推荐指数
1
解决办法
1418
查看次数

JavaScript:如何过滤深JSON对象

我有一个深度JSON对象的数组,看起来像这样:

var hierarchy = [
  {
    "title": "category 1",
    "children": [
      {"title": "subcategory 1",
        "children": [
          {"id": 1, "title": "name 1"},
          {"id": 2, "title": "name 2"},
          {"id": 3, "title": "name 3"}
        ]
      },
      {"title": "subcategory 2",
        "children": [
          {"id": 1, "title": "name 4"}
        ]
      }
    ]
  },
  {
    "title": "category 2",
    "children": [etc. - shortened for brevity]
  }
];
Run Code Online (Sandbox Code Playgroud)

所以基本上它是一个层次结构 - 有些类别可以包含子类别,其中包含具有一些ID和名称的对象.我还有一个与最深层次结构级别(没有子级的对象)相关的ID数组,我需要以这样的方式过滤这组对象,即只保留包含已定义对象的(子)类别.

例如,如果我有一个包含两个ID的数组:

var IDs = [2, 3];
Run Code Online (Sandbox Code Playgroud)

结果将是:

var hierarchy = [
  {
    "title": "category 1",
    "children": [
      {"title": …
Run Code Online (Sandbox Code Playgroud)

javascript json

4
推荐指数
1
解决办法
3927
查看次数

标签 统计

javascript ×3

angularjs ×2

google-maps ×1

json ×1