小编gyr*_*yre的帖子

如何从Node.js中的不同应用程序注入模块

我有两个一起运行的节点应用程序/服务,1.主应用程序2.第二个应用程序

主应用程序负责显示最终不同应用程序的所有数据.现在我在主应用程序中放置了第二个应用程序的一些代码,现在它正在工作,但我希望它能够解耦.我的意思是secnod应用程序的代码不会在主应用程序中(通过某种方式在运行时注入它)

就像第二个服务注册到主应用程序注入它的代码.它的代码只是两个模块,是否可以在nodejs中完成?

const Socket = require('socket.io-client');
const client = require("./config.json");

module.exports =  (serviceRegistry, wsSocket) =>{
    var ws = null;
    var consumer = () => {
        var registration = serviceRegistry.get("tweets");
        console.log("Service: " + registration);
        //Check if service is online
        if (registration === null) {
            if (ws != null) {
                ws.close();
                ws = null;
                console.log("Closed websocket");
            }
            return
        }
        var clientName = `ws://localhost:${registration.port}/`
        if (client.hosted) {
            clientName = `ws://${client.client}/`;
        }
        //Create a websocket to communicate with the client
        if (ws == …
Run Code Online (Sandbox Code Playgroud)

javascript amd node.js express microservices

9
推荐指数
1
解决办法
671
查看次数

将值与枚举进行比较在 TypeScript 中并不明显

我有非常简单的代码:

enum Color { BLUE, RED }

class Brush { 
    color: Color

    constructor(values) { 
        this.color = values.color
    }
}

let JSON_RESPONSE = `{"color": "BLUE"}`

let brush = new Brush(JSON.parse(JSON_RESPONSE))
Run Code Online (Sandbox Code Playgroud)

现在我想检查一下:

console.log(brush.color === Color.BLUE)
Run Code Online (Sandbox Code Playgroud)

它返回false

我尝试了一些组合,例如

brush.color === Color[Color.BLUE]
Run Code Online (Sandbox Code Playgroud)

但是,当然,遇到了编译器错误。

问题是如何进行相当基本的比较enum === enum

javascript enums json typescript angular

8
推荐指数
2
解决办法
6440
查看次数

`String.raw`当最后一个字符是`\`时

String.raw非常有用.例如:

let path = String.raw`C:\path\to\file.html`
Run Code Online (Sandbox Code Playgroud)

但是,当模板字符串的最后一个字符为时\,它将成为语法错误.

let path = String.raw`C:\path\to\directory\`
Run Code Online (Sandbox Code Playgroud)

未捕获的SyntaxError:未终止的模板文字

暂时,我使用这种方法.

let path = String.raw`C:\path\to\directory\ `.trimRight()
Run Code Online (Sandbox Code Playgroud)

我可以写最后一个字符\使用的模板字符串String.raw吗?

javascript

7
推荐指数
1
解决办法
144
查看次数

如何解雇自定义可取消事件

我知道如何在JavaScript中触发事件,但我不知道如何使其可取消.通过event.preventDefault()在事件处理程序.

document.dispatchEvent(new CustomEvent("name-of-event", {}));
Run Code Online (Sandbox Code Playgroud)

我编写了以下代码,但是如何以原生方式通过event.preventDefault()

document.dispatchEvent(new CustomEvent("my-event",function keepGoing(result){
  if(result){
      // continue ...
  }
}));

// And then in event listener:
document.addEventListener('my-event',function(event,keepGoing){
keepGoing(true);
// Or keepGoing(false);
});
Run Code Online (Sandbox Code Playgroud)

javascript events

6
推荐指数
2
解决办法
1008
查看次数

如何在python中使用for循环追加多维数组

我正在尝试append一个多维数组.

这是我到目前为止所做的:

arr=[[]]
for i in range(10):
    for j in range(5):
        arr[i].append(i*j)
        print i,i*j


print arr
Run Code Online (Sandbox Code Playgroud)

这是我的预期输出:

[[0,0,0,0,0],[0,1,2,3,4],[0,2,4,6,8],[0,3,6,9,12],[0,4,8,12,16],[0,5,10,15,20],[0,6,12,18,24],[0,7,14,21,28],[0,8,16,24,32],[0,9,18,27,36]]

但是,我收到此错误:

IndexError:列表索引超出范围

python arrays

6
推荐指数
2
解决办法
3万
查看次数

过滤字符串数组

我需要过滤一个数组,我完全不知道如何做到这一点.

我需要过滤掉最大的数字.当第一个数字是'XXXX'第二个数字时,可以认为数字更大'XXXX-1',然后第二个数字更大.或者,如果第一个数字是'XXXX-1'第二个数字,则可以认为它更大'XXXX-2',然后第二个数字最大.

如果数字没有更大的版本,请在下面的示例中查看'2234'.'2234-1'因此,没有,'2234'是同类中最大的,应该被删除.

所以给这个数组(字符串)作为一个例子:

['7851', '7851-2', '7851-1', '2234', '2235', '2235-1']
Run Code Online (Sandbox Code Playgroud)

我期待这个结果:

['7851', '7851-1', '2235']
Run Code Online (Sandbox Code Playgroud)

javascript arrays string filtering

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

如何使用 JS 获取不同的值并对 JSON 求和

你如何从不同的值中获取数据,也可以将来自同一唯一行的总值相加

这是 JSON 数据结果

在此处输入图片说明

如您所见,它们具有相同的全名。你如何在求和总数的同时获得不同的值priceGross

结果应该返回例如。"Khalem Williams"并加总priceGross " 1200 + 1200 " = 2400

结果返回

FullName : "Khalem Williams" 
TotalPriceGross: "2400"
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码获得了不同的值,但我想知道如何在获得不同值的同时对总 priceGross 求和。

var countTotal = [];

$.each(data.aaData.data,function(index, value){
          if ($.inArray(value.invoiceToFullName, countTotal)==-1) {
                    countTotal.push(value.invoiceToFullName);
          }
});
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery json arraylist

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

在JavaScript中获取对象变量名称

我正在创建一个JavaScript代码,我有一种情况,我想在对象方法中读取对象名称(字符串).我想要实现的示例代码如下所示:

// Define my object
var TestObject = function() {
    return {
        getObjectName: function() {
            console.log( /* Get the Object instance name */ );
        }
    };
}

// create instance
var a1 = TestObject();
var a2 = TestObject();

a1.getObjectName(); // Here I want to get the string name "a1";

a2.getObjectName(); // Here I want to get the string name "a2";
Run Code Online (Sandbox Code Playgroud)

我不确定这是否可以在JavaScript中使用.但如果是的话,我很乐意听到你们如何实现这一目标.

javascript

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

当父级高度为 100% 时画布可缩放

我正在使用粒子来创建画布动画。问题是我需要确保#home部分高度是窗口的 100%,但是当我这样做时,画布不会按预期显示。

虽然使用以下 CSS 规则在技术上是可行的,但我无法使用它,因为我必须$('#home').height($(window).height())稍后在代码中进行设置以实现某些目的。

html, body, #home {
  height:100%;
}
Run Code Online (Sandbox Code Playgroud)


代码片段:

html, body, #home {
  height:100%;
}
Run Code Online (Sandbox Code Playgroud)
if ($('#particles-js').length > 0) {
    particlesJS('particles-js',

  {
      "particles": {
          "number": {
              "value": 150,
              "density": {
                  "enable": true,
                  "value_area": 800
              }
          },
          "color": {
              "value": "#ffffff"
          },
          "shape": {
              "type": "circle",
              "stroke": {
                  "width": 0,
                  "color": "#ffffff"
              },
              "polygon": {
                  "nb_sides": 5
              },
          },
          "opacity": {
              "value": 0.5,
              "random": false,
              "anim": {
                  "enable": false,
                  "speed": 1,
                  "opacity_min": 0.1,
                  "sync": …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery canvas

5
推荐指数
0
解决办法
248
查看次数

比较Python中两个dicts的值

我有2个词典:

budgets = {'Engineering': 4500.0,
 'Marketing': 5000.0,
 'Operations': 3000.0,
 'Sales': 2000.0}

spending = {'Engineering': 5020.0,
 'Marketing': 1550.0,
 'Operations': 3670.0,
 'Sales': 3320.0}
Run Code Online (Sandbox Code Playgroud)

我试图遍历它们,并找出哪些值spending大于值budgets.我目前写道:

for value in spending.values():
    if value in spending.values() > budgets.values():
        print 'Over Budget'
    else:
        print 'Under Budget'
Run Code Online (Sandbox Code Playgroud)

然而,当我运行它时,它们都打印出来Over Budget,但事实并非如此.有人可以解释我接近这个错误吗?

谢谢 :)

python dictionary loops for-loop python-2.7

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