我有两个一起运行的节点应用程序/服务,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) 我有非常简单的代码:
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?
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中触发事件,但我不知道如何使其可取消.通过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) 我正在尝试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:列表索引超出范围
我需要过滤一个数组,我完全不知道如何做到这一点.
我需要过滤掉最大的数字.当第一个数字是'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) 你如何从不同的值中获取数据,也可以将来自同一唯一行的总值相加
这是 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代码,我有一种情况,我想在对象方法中读取对象名称(字符串).我想要实现的示例代码如下所示:
// 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中使用.但如果是的话,我很乐意听到你们如何实现这一目标.
我正在使用粒子来创建画布动画。问题是我需要确保#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)我有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,但事实并非如此.有人可以解释我接近这个错误吗?
谢谢 :)