小编Alo*_*lon的帖子

没有返回或分配的值会怎样?

我遇到了一个功能:

def open(partitionId: Long,version: Long): Boolean = {
    Class.forName("com.mysql.jdbc.Driver")
    connection = DriverManager.getConnection(url, user, pwd)
    statement = connection.createStatement
    true
  }
Run Code Online (Sandbox Code Playgroud)

函数中的第一个和最后一个语句不执行任何操作。我知道Class.forName返回什么,但是返回的值不在任何地方使用,也没有赋值。同样的事情true。只是true在代码的中间。

您能告诉我Scala的这一功能吗?

scala side-effects return-value

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

无法分配给只读属性'_id'

我有一个Node.js应用程序.这是我第一次使用MongoDB.

我尝试插入文档时遇到此异常:

无法分配给{"title"的只读属性'_id':"some title","content":"some content","tags":"#some #tags"}

这是它出现的代码行:

db.collection(collectionName).insertOne(json, callback);
Run Code Online (Sandbox Code Playgroud)

我听说_id是Mongo应该自己创造的价值.我发现很多问题都有相同的例外,但要么不是_id字段,要么是_id字段,但在客户端,他们根本没有帮助我.

任何帮助将深表感谢!

整个代码:

蒙戈 - manager.js:

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/blog';

function performOperation (func){
    MongoClient.connect(url, function(err, db) {

        func(db, function(err, result) {
            db.close();
        });
    });
}

function insertOne(db, collectionName, json, callback){
    db.collection(collectionName).insertOne(json, callback);
}

exports.addPost = function(json) {
    performOperation(func);

    function func (db, callback) {
        insertOne(db, "posts", json, callback)
    }
};
Run Code Online (Sandbox Code Playgroud)

index.js:

var express = require('express');
var router = express.Router();

router.post('/posts', function(req, res, next){
  var mongoManager = require('../dal/mongo-manager.js');
  mongoManager.addPost(JSON.stringify(req.body)); …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js

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

在客户端和服务器之间共享TypeScript类

我有一个用TypeScript编写的Node.js项目.在我的项目中,我有一个名为"public"的文件夹,其中包含客户端代码和HTML以及一个名为classes.ts的文件,该文件应该与服务器端共享.

问题是我需要在类声明之前添加"export"以使它们在服务器中可访问,但是在浏览器中我得到此错误:

未捕获的ReferenceError:未定义导出

我发现了这些问题:https: //github.com/Microsoft/TypeScript/issues/5094, 使用客户端和服务器应用程序之间共享的类设置一个Typescript项目?, 使用TypeScript在客户端和服务器之间共享模块,建议在服务器中使用commonjs,但在客户端中使用.这个解决方案的问题是它们有3个不同的项目(服务器,客户端和共享),而我只有一个项目,我使用commonjs.另一个建议是:

另一种选择,更复杂,需要一个后期构建步骤来按摩代码; 如果你不能在客户端代码中使用模块加载器,那就是隔离服务器代码中的所有模块依赖关系,那么在共享中,它们只是类.不使用--module构建共享文件,也不构建导出或导入,而是在单个命名空间内构建共享文件,例如命名空间MyApp {...}; 在您的客户端代码中,您直接包含它们,并使用--out发出.在您的服务器代码中,您首先将共享代码发送到单个文件shared.js和单个.d.ts shared.d.ts,使用一些代码扩充它们以将它们导出为模块,例如append exports = MyApp在shared.js和shared.d.ts的末尾,然后从服务器代码中导入它们.

但我不想一直处理更新.d.ts文件,我也不确定它是否可以在一个项目中工作.

有关如何在浏览器和服务器中访问TypeScript类的任何建议吗?

任何帮助将深表感谢!

amd commonjs node.js typescript

3
推荐指数
1
解决办法
2755
查看次数

ExpressJS 错误处理不起作用

在我的 server.js 文件的最后,我有以下代码:

app.use(logErrors);

function logErrors (err: Error, req: Request, res: Response, next: NextFunction) {
    console.log(err);
    mongoDal.log(err.message, err);
    next(err);
}
Run Code Online (Sandbox Code Playgroud)

但是发生错误时不会到达此代码。

我也有 Node.js 错误处理函数,它也没有达到:

process.on('uncaughtException', function (err: Error) {
    try {
        console.log(err);
        mongoDal.log(err.message, err);
    } catch (err) {

    }
});
Run Code Online (Sandbox Code Playgroud)

这是产生错误的代码:

app.get('/test_feature', function (req: Request, res: Response) {
    makeError();

    res.send("Done");
});

function makeError(){
    throw new Error("asdasdad");
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,错误确实写入了控制台(但不是我的功能),并且应用程序不会崩溃。

我正在尝试制作一个通用解决方案,它将在一个地方捕获每个未处理的异常。

我究竟做错了什么?

javascript error-handling node.js express

3
推荐指数
1
解决办法
5446
查看次数

柴应该是未定义的

我已经安装了 Mocha 和 Chai。

在我的单元测试中:

import {expect, should} from "chai";

describe("array", function () {
        it("has length of 1", function (done) {
            var arr = ["B"];
            expect(arr).have.lengthOf(1);
            arr.should.have.lengthOf(1);
        });
});
Run Code Online (Sandbox Code Playgroud)

expect按预期工作,但should未定义。

为什么?

javascript unit-testing mocha.js node.js chai

3
推荐指数
1
解决办法
1682
查看次数

angular的definelytyped无法识别JQueryStatic

我在angular的声明文件中有一个错误:

TS2304:找不到名称“ JQueryStatic”。

我确实安装了jquery的类型。在那里,JQueryStatic被声明为接口。

我该如何解决?

javascript jquery angularjs typescript typescript-typings

3
推荐指数
1
解决办法
900
查看次数

Docker:来自守护进程的错误响应:删除 myvol:卷正在使用中

当我尝试删除卷时,出现此错误:

来自守护进程的错误响应:删除 myvol:卷正在使用中 - [2a177cb40a405db9f245fccd776dcdeacc d266ad624daf7cff510c9a1a1716fe]

但两者docker psdocker container ls返回一个空列表。

我试过重新启动 docker 守护进程。

我在 Windows 10 上使用 Docker 工具箱。

docker

3
推荐指数
1
解决办法
4290
查看次数

hadoop-aws 和 aws-java-sdk 版本与 Spark 2.3 兼容

我使用 Spark 2.3.0 和 Scala 2.11.8

以下库的兼容版本是什么?:

hadoop-AWS

aws-java-sdk

java hadoop scala amazon-web-services apache-spark

3
推荐指数
1
解决办法
3881
查看次数

如何在 Amazon Linux 2 上解压缩?

我有一个文件名 awscliv2.zip,我正在尝试解压缩它。

所以首先我尝试:

unzip awscliv2.zip
Run Code Online (Sandbox Code Playgroud)

但得到:

-bash: 解压: 命令未找到

然后我尝试:

tar xvf awscliv2.zip
Run Code Online (Sandbox Code Playgroud)

但得到:

tar:这看起来不像 tar 档案

tar:跳到下一个标题

tar:由于先前的错误而以失败状态退出

bash unzip amazon-web-services amazon-linux amazon-linux-2

3
推荐指数
1
解决办法
4959
查看次数

TS2339:类型上不存在属性

我在WebStorm 2016.2.2中将js文件转换为ts.

我有以下片段:

///<reference path="./typings/globals/node/index.d.ts" />

global.base_dir = __dirname;

global.abs_path = function(path) {
    return global.base_dir + path;
};
global.include = function(file) {
    return require(global.abs_path('/' + file));
};
Run Code Online (Sandbox Code Playgroud)

base_dir,abs_pathinclude产生错误:

TS2339:"全局"类型中不存在属性"base_dir"

TS2339:"全局"类型中不存在属性'abs_path'

TS2339:"全球"类型中不存在"包含"属性

所以我将它们添加到'Global'界面如下:

///<reference path="./typings/globals/node/index.d.ts" />

declare namespace NodeJS{
    interface Global {
        base_dir: string;
        abs_path: (path: string) => string;
        include: (file: string) => string;
    }
}

global.base_dir = __dirname;

global.abs_path = function(path) {
    return global.base_dir + path;
};
global.include = function(file) {
    return require(global.abs_path('/' + file)); …
Run Code Online (Sandbox Code Playgroud)

webstorm typescript

2
推荐指数
1
解决办法
8493
查看次数