小编Alo*_*lon的帖子

对Array.map使用async await

给出以下代码:

var arr = [1,2,3,4,5];

var results: number[] = await arr.map(async (item): Promise<number> => {
        await callAsynchronousOperation(item);
        return item + 1;
    });
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

TS2322:类型'Promise <number> []'不能分配给'number []'类型."承诺<编号>类型不能指定为"编号"类型.

我该如何解决?怎样才能让async awaitArray.map一起工作?

javascript promise async-await typescript ecmascript-2017

139
推荐指数
7
解决办法
9万
查看次数

TypeScript isNan只接受一个数字

我使用WebStorm 2016.2.2,TypeScript 2.1,Node.js.

出于某种原因,isNan声明为只接受数字的函数:

declare function isNaN(number: number): boolean;
Run Code Online (Sandbox Code Playgroud)

我试图将其改为任何,但看起来它不会对TSC产生影响.我仍然得到同样的错误:

'string'类型的参数不能分配给'number'类型的参数

我的代码(简化):

isNan("10");
Run Code Online (Sandbox Code Playgroud)

我该如何解决/解决它?


编辑:

请注意,根据规范,isNan的参数可以是任何类型:Number.isNan()

另外:我的代码被简化了.我实际上收到一个参数,可能是一个字符串或一个数字,如果它是一个字符串,它可能是一个我希望转换为数字("10")的字符串数字或一个简单的字符串("Hello world") .

我不想通过包含我的整个代码来解决这个问题,但是因为它引起了混乱,这是我真正的代码:

            if (typeof expectedValue === "string" && !isNaN(expectedValue)) {
                    expectedValue = +expectedValue;
                }

            if (typeof actualValue === "string" && !isNaN(ctualValue)) {
                actualValue = +actualValue;
            }

            switch (this.operator) {
                case Operator.equal:
                    return actualValue == expectedValue;
                case Operator.notEqual:
                    return actualValue === undefined || actualValue != expectedValue;
                case Operator.greaterThan:
                    return actualValue > expectedValue;
                case Operator.littleThan:
                    return actualValue < expectedValue;
                case Operator.greaterOrEqual: …
Run Code Online (Sandbox Code Playgroud)

javascript node.js webstorm typescript

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

Cassandra冻结关键词含义

frozenCassandra中关键字的含义是什么?

我正在尝试阅读此文档页面:使用用户定义的类型,但他们对frozen关键字的解释(他们在他们的示例中使用)对我来说不够清楚:

要支持将来的功能,用户定义或元组类型的列定义需要冻结关键字.Cassandra将具有多个组件的冻结值序列化为单个值.有关示例和用法信息,请参阅"使用用户定义的类型","元组类型"和集合类型.

我没有在网上找到任何其他定义或明确的解释.

database keyword bigdata cassandra nosql

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

Koa路由器:如何获取查询字符串参数?

我正在使用koa-router.

如何获取请求的查询字符串参数?

这是我设法写的最好的:

import koaRouter from 'koa-router';

const router = koaRouter({ prefix: '/courses' });

router.get('/', async (ctx) => {
        console.log(ctx.qs["lecturer"]);
    });
Run Code Online (Sandbox Code Playgroud)

但是qs未定义

任何帮助将深表感谢!

javascript node.js query-string koa koa-router

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

告诉Chrome调试js而不是ts

默认情况下(希望它不是唯一的选项)当我有一个ts文件时,Chrome只允许我调试ts代码.即它确实向我展示了ts和js文件的内容,但是当我尝试在js文件中放置一个断点时,它会立即将我转移到ts文件并在正确的位置找到断点.

如何告诉Chrome调试js文件而不是ts文件?

javascript google-chrome web-developer-toolbar google-chrome-devtools typescript

20
推荐指数
1
解决办法
6665
查看次数

从 Spark 2.3 开始,当引用的列仅包含内部损坏的记录列时,不允许从原始 JSON/CSV 文件进行查询

我有一个 json 文件:

{
  "a": {
    "b": 1
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试阅读它:

val path = "D:/playground/input.json"
val df = spark.read.json(path)
df.show()
Run Code Online (Sandbox Code Playgroud)

但是得到一个错误:

线程“main”org.apache.spark.sql.AnalysisException 中的异常:自 Spark 2.3 起,当引用的列仅包含内部损坏的记录列(默认名为 _corrupt_record)时,不允许对原始 JSON/CSV 文件进行查询。例如: spark.read.schema(schema).json(file).filter($"_corrupt_record".isNotNull).count() 和 spark.read.schema(schema).json(file).select("_corrupt_record" )。展示()。相反,您可以缓存或保存解析的结果,然后发送相同的查询。例如, val df = spark.read.schema(schema).json(file).cache() 然后 df.filter($"_corrupt_record".isNotNull).count().;

所以我尝试按照他们的建议缓存它:

val path = "D:/playground/input.json"
val df = spark.read.json(path).cache()
df.show()
Run Code Online (Sandbox Code Playgroud)

但我不断收到同样的错误。

json scala apache-spark apache-spark-sql

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

'import quandl'生成'流程已完成退出代码-1073741819(0xC0000005)'

这是我的整个计划:

import quandl

print("Hello World");
Run Code Online (Sandbox Code Playgroud)

这导致:

处理完成,退出代码为-1073741819(0xC0000005)

首先我导入了Quandl,但后来我收到了:

ModuleNotFoundError:没有名为'Quandl'的模块

然后我用Google搜索并阅读了一个建议,将名称更改为quandl.

我已经在项目干扰器中安装了软件包,但它的名字叫Quandl.无论如何,它看起来至少与小写它通过编译.

我在Windows 10上运行我的程序.我的Python版本是3.7.我用PyCharm.

如果我尝试导入不同的包,那么它可以工作.Quandl是有问题的.

python windows pycharm windows-10 quandl

11
推荐指数
1
解决办法
467
查看次数

使用System.js在TypeScript中加载模块

我有一个用TypeScript编写的Node.js和AngularJS应用程序,我正在尝试使用System.js加载模块.

如果我只导入一个类来指定一个类型,它工作正常.例如:

import {BlogModel} from  "./model"
var model: BlogModel;
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用导入的类实例化变量时,我在运行时获得异常.例如:

import {BlogModel} from  "./model"
var model: BlogModel = new BlogModel();
Run Code Online (Sandbox Code Playgroud)

未捕获的ReferenceError:未定义require

我使用CommonJS.我不能使用AMD,因为我有一个服务器端和客户端项目.这就是我使用System.js在客户端加载模块的原因.

这是我的System.js定义:

 <script src="/assets/libs/systemjs-master/dist/system-polyfills.js"></script>
    <script src="/assets/libs/systemjs-master/dist/system.src.js"></script>

    <script>
        System.config({
            packages: {
                app: {
                    format: 'register',
                    defaultExtension: 'js'
                }
            }
        });
        System.import('classes.ts')
                .then(null, console.error.bind(console));
        System.import('model.ts')
                .then(null, console.error.bind(console));
    </script>
Run Code Online (Sandbox Code Playgroud)

这是model.ts文件的内容:

import {User} from "./classes";
import {Post} from "./classes";

export class BlogModel{
    private _currentUser: User;
    private _posts: Post[];

    get currentUser(){
        return this._currentUser;
    }

    set currentUser(value: User){
        this._currentUser = value;
    }

    get posts(){
        return …
Run Code Online (Sandbox Code Playgroud)

typescript systemjs

10
推荐指数
1
解决办法
9120
查看次数

无法使用FF RESTClient中的Spring MVC方法

当我尝试使用FF RESTClient使用Spring MVC方法时,我收到以下错误:

服务器拒绝此请求,因为请求实体的格式不受所请求方法所请求资源的支持.

这是方法声明:

@RequestMapping(value = "/login", method = RequestMethod.POST)
public ResponseWrapper login(@RequestParam("email")    @NotNull @Size(min=3, max=50) final String email,
                             @RequestParam("password") @NotNull @Size(min=8, max=50) final String password, 
                             final HttpSession session) {
Run Code Online (Sandbox Code Playgroud)

我输入了正确的URL,方法POST,并在"Body"部分中写道:

电子邮件=管理员和密码= 87654321

我还添加了具有价值的"内容类型"标头"应用程序/ x-WWW的形式,进行了urlencoded"的建议在这里:Firefox插件RESTClient实现-如何输入POST参数?

Java代码是正确的,我无法更改它.我必须解决Firefox RESTClient中的问题.

任何帮助将深表感谢!


编辑:

我改变了一些东西,然后改回来,现在运作良好,不知道为什么.无论如何,如果主持人可以删除这个问题,我会很高兴.

firefox-developer-tools

10
推荐指数
0
解决办法
95
查看次数

Node.js和碎片

背景:我来自微软世界,我曾经在IIS上存储过网站.经验教会我每天回收一次应用程序池,以消除由于碎片造成的奇怪问题.回收应用程序池基本上意味着重新启动应用程序而无需重新启动整个IIS.我还观看了一个演讲,解释了微软如何在.Net 4.5中减少了很多碎片.

现在,我正在将Node.js应用程序部署到生产环境中,我必须确保它始终完美无缺.我本来想让我的应用程序每天重启一次.然后我做了一些研究,以便找到一些关于Node.js中碎片问题的线索.我发现的唯一一件事是在V8中描述GC的文章中的一段内容:

为了确保快速的对象分配,短暂的垃圾收集暂停,以及"无内存碎片V8"采用了一种世界级的,世代的,准确的垃圾收集器.

这句话真的不足以让我放弃为我的应用程序构建重启机制,但另一方面,如果没有问题,我不想做一些工作.

所以我的问题是:

我应该或不应该不时地重启我的应用程序以防止碎片?

javascript garbage-collection memory-management v8 node.js

10
推荐指数
1
解决办法
653
查看次数