小编KAR*_*N.A的帖子

在节点中不区分大小写的文件系统中获取实际文件名的有效方法

不是这个问题的欺骗。这个问题是不是有关Windows。这是跨操作系统的普遍问题。

除了获取目录并找到匹配的名称之外,是否有一种有效的方法可以在 node.js 中获取文件名的正确大小写?

示例:假设我有一个包含 3 个文件的文件夹

+-someFolder
  +-fooBar.txt
  +-Moo.txt
  +-ReadMe.txt
Run Code Online (Sandbox Code Playgroud)

我想要一个通过somefolder/readme.txtreturn的函数someFolder/ReadMe.txt

AFAICT 唯一的方法是调用fs.readDirfs.readDirSync查看是否有匹配的文件,例如

const fs = require('fs');
const path = require('path');

function getActualFilename(filename) {
  if(!fs.existsSync(filename)) {
    throw new Error(`${filename} does not exist`);
  }
  return getActualFilenameImpl(filename);
}

function getActualFilenameImpl(filename) {
  const lcFilename = path.basename(filename).toLowerCase();
  // handles passing in `c:\\`
  if (!lcFilename) {
    return filename.toUpperCase();
  }

  const dirname = path.dirname(filename);
  let filenames;
  try {
    filenames = fs.readdirSync(dirname); …
Run Code Online (Sandbox Code Playgroud)

javascript filesystems filenames node.js electron

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

Javascript:axios:批处理请求

如何使用axios进行批处理请求:

我有以下批量请求

POST /batch HTTP/1.1
Content-Type: multipart/mixed; boundary=====1340674896===

--====1340674896===

GET /contacts/479038 HTTP/1.1
Content-Type: application/json

--====1340674896===

GET /contacts/299430 HTTP/1.1
Content-Type: application/json

--====1340674896===--
Run Code Online (Sandbox Code Playgroud)

如何使用axios获得响应:我正在尝试以下

     const config = {
        headers: {
            'content-type': 'multipart/mixed; boundary=====1340674896==='
        }
     }
     axios.post('/batch',data,config)
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
      });
Run Code Online (Sandbox Code Playgroud)

如何传递数据

    --====1340674896===

GET /contacts/479038 HTTP/1.1
Content-Type: application/json

--====1340674896===

GET /contacts/299430 HTTP/1.1
Content-Type: application/json

--====1340674896===--
Run Code Online (Sandbox Code Playgroud)

javascript batch-processing axios

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

如何检测kafka主题中的重复消息?

嗨,我有一个类似于下图所示的架构。

我有两个 kafka 生产者,它们将向 kafka 主题发送频繁重复消息的消息。

有没有一种方法可以以简单的方式处理这种情况,例如服务总线主题。

感谢您的帮助。

在此处输入图片说明

azureservicebus apache-kafka kafka-consumer-api kafka-producer-api apache-kafka-streams

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

如何在 ng-bootstrap 中将默认格式设置为 ('dd/mm/yyyy')

https://puu.sh/yThgV/bd55df9829.png

html

<label for="date">{{ "date" | translate }}</label>
<input type="date" class="form-control checking-field" id="date">
Run Code Online (Sandbox Code Playgroud)

我想得到那种格式('dd/mm/yyyy')。有什么建议吗?

html bootstrap-4 angular

5
推荐指数
2
解决办法
9341
查看次数

如何进行第二次 HTTP 调用来获取详细网格的数据 - getDetailRowData()

我有一个 ag-Grid 主/详细网格设置。因此,当主网格行展开时,它会加载详细网格。

请参阅简单示例: https://www.ag-grid.com/javascript-grid-master-detail/#example-simple-master-detail

这是基于详细网格的数据已经在主网格上使用的原始 json 数据中获取的基础上进行的。

我想获取id主网格所选行的 并进行第二次 HTTP 服务调用以获取详细网格的 json 数据。

简单的示例只是将 json 数据发送到 successCallback,如下所示:

      getDetailRowData: function(params) {
        params.successCallback(params.data.callRecords);
      }
Run Code Online (Sandbox Code Playgroud)

我尝试将此方法更改为:

      getDetailRowData: function(params) {
        this.http
          .get(
            "https://gist.githubusercontent.com/adrianwright109/37a5e37ba2382b26f42b9d12a8593878/raw/60d2ffed511262a6a2e7e54e01bffd28c3701c5e/ClientProfiles.json"
          )
          .subscribe(data => {
            params.successCallback(data);
          });

        // params.successCallback(params.data.callRecords);
      }
Run Code Online (Sandbox Code Playgroud)

使用此代码我收到以下错误:

错误类型错误:无法读取未定义的属性“http”

错误 错误:ag-Grid:当网格位于绘制行的中间时,无法让网格绘制行。当网格处于渲染阶段时,您的代码可能调用了网格 API 方法。为了克服这个问题,请将 API 调用设置为超时,例如,调用 setTimeout(function(){api.refreshView(),0}),而不是 api.refreshView()。要查看代码的哪一部分导致刷新,请检查此堆栈跟踪。

      getDetailRowData: function(params) {
        setTimeout(function() {
          this.http
            .get(
              "https://gist.githubusercontent.com/adrianwright109/37a5e37ba2382b26f42b9d12a8593878/raw/60d2ffed511262a6a2e7e54e01bffd28c3701c5e/ClientProfiles.json"
            )
            .subscribe(data => {
              params.successCallback(data);
            });
        }, 500);

        // params.successCallback(params.data.callRecords);
      }
Run Code Online (Sandbox Code Playgroud)

使用此代码我收到以下错误:

错误类型错误:无法读取未定义的属性“get”

我有一个笨蛋:

https://next.plnkr.co/plunk/IS5a3jKyDJJSSdh0

有没有人通过 Web API 服务调用实现延迟加载详细网格数据?

javascript ag-grid ag-grid-angular

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

Ag-grid - 当没有详细数据时,主/详细信息隐藏 V 形图标

在大纲/详细信息示例中,设置 时始终显示展开/折叠图标[masterDetail]=true。但是,我的数据有时没有详细信息行,我想在这种情况下隐藏 V 形。在我的示例中,callRecords 属性将出现在数据上,但它将为 null:

getDetailRowData: function(params) {
    params.successCallback(params.data.callRecords);
},
Run Code Online (Sandbox Code Playgroud)

当数据为空时,如何不在主网格上显示 V 形?注意:此处可见示例: https: //www.ag-grid.com/javascript-grid-master-detail-detail-grids/#detail-grid-options

javascript ag-grid ag-grid-angular

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

createRoot(...): 目标容器不是 React 测试文件中的 DOM 元素

我在我的项目中使用 React-18.0.0,在测试文件中我收到以下错误

createRoot(...):目标容器不是 DOM 元素。

我的测试文件是:

import ReactDOM from 'react-dom/client';
import { render, screen } from "@testing-library/react";
import App from "./App";

const root = ReactDOM.createRoot(document.getElementById("root"));

test("renders learn react link", () => {
    root.render(<App />);
    const linkElement = screen.getByText(/Hello React/i);
    expect(linkElement).toBeInTheDocument();
});
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-test-renderer react-testing-library react-18

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

使用Scala 2.10更新到Eclipse Juno后,多维数组声明失败

我最近更新到Eclipse Juno,因此也更新到了Scala 2.10.我之前有完美的代码,但是,在更新之后,我得到了一行"构造函数数组的参数太多"错误:

var labyrinth = new Array[Array[Cell]](lines.length, lines.apply(0).length);
Run Code Online (Sandbox Code Playgroud)

它应该代表一个二维数组.我想知道问题是什么,因为它以前一直在工作.当我运行项目(忽略错误)时,它不会编译,它给了我一个"找不到类"的异常.

我在OSX Lion上运行带有Scala 2.10的Eclipse Juno.

scala scala-ide scala-2.10 eclipse-juno

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

使用 telnet 测试节点 websockets

我正在使用 ws 库在 Node js 中编写一个基于套接字的服务器,我想测试我的代码是否有效。我已经看到在其他地方使用 telnet 来测试简单的聊天服务器,但是当我启动我的服务器并执行 telnet 127.0.0.1 5000 时,虽然输出显示“连接到本地主机”,但我的服务器没有记录与新连接相关的任何内容。我测试我的服务器是错误的还是我的服务器根本不工作?我的服务器代码如下:

    var WebSocketServer = require('ws').Server
      , http = require('http')
      , express = require('express')
      , app = express()
      , port = process.env.PORT || 5000;

    var server = http.createServer(app);
    server.listen(port);

    var wss = new WebSocketServer({server: server});
    console.log('websocket server created');
    wss.on('connection', function(ws) {
    var id = setInterval(function() {
        ws.send(JSON.stringify(new Date()), function() {  });
    }, 1000);

    console.log('websocket connection open');

    ws.on('close', function() {
        console.log('websocket connection close');
        clearInterval(id);
    });
   });
Run Code Online (Sandbox Code Playgroud)

tcp telnet websocket node.js socket.io

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

Angular ui-grid 3.0获取选定的行

这个答案说明这段代码:

$scope.gridOptions.onRegisterApi = function(gridApi){
  $scope.gridApi = gridApi;
  $scope.mySelectedRows=$scope.gridApi.selection.getSelectedRows();
}
Run Code Online (Sandbox Code Playgroud)

应该工作以获取所选行,但对我来说它总是返回[],以跟踪gridApi.selection.getSelectedRows()每次触发选择事件时我必须调用的所选行,这是正确的吗?

我想要实现的是自己的页脚跟踪网格选定行的数量,这是实现这一目标的正确方法吗?

javascript angularjs angular-ui-grid

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