小编Dar*_*rio的帖子

从承诺结果导出节点模块

我正在尝试重写模块以返回与以前不同的值,但现在它使用异步调用来获取该值.(child_process如果重要的话).我把它包装在Promise中,但这对我来说并不重要 - 它可以在原始的child_process回调中,但问题是我无法将承诺链接到应用程序中的任何地方,因为我需要这个变为同步.这是我的模块:

exec = require('child_process').exec

platformHome = process.env[if process.platform is 'win32' then 'USERPROFILE' else 'HOME']

getExecPath = new Promise (resolve, reject) ->
  path = process.env.GEM_HOME

  if path
    resolve(path)
  else
    exec 'gem environment', (err, stdout, stderr) ->
      unless err
        line = stdout.split(/\r?\n/)
                 .find((l) -> ~l.indexOf('EXECUTABLE DIRECTORY'))
        if line
          resolve line[line.indexOf(': ') + 2..]
        else
          reject undefined

GEM_HOME = undefined

getExecPath.then (path) ->
  GEM_HOME = path
.catch ->
  GEM_HOME = "#{platformHome}/.gem/ruby/2.3.0"
.then =>
  module.exports = GEM_HOME // or simply …
Run Code Online (Sandbox Code Playgroud)

javascript node.js coffeescript

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

Mongoose高级自定义架构对象类型

我在Mongoose> = 4.4中找不到任何涉及自定义对象(或值对象)的高级 自定义模式类型的示例.

想象一下,我想使用自定义类型,如:

function Polygon(c) {
  this.bounds = [ /* some data */ ];
  this.npoints = /* ... */
  /* ... initialize polygon ... */
};

Polygon.prototype.area = function surfaceArea() { /**/ };

Polygon.prototype.toObject = function toObject() { return this.bounds; };
Run Code Online (Sandbox Code Playgroud)

接下来,我实现了一个自定义SchemaType,如:

function PolygonType(key, options) {
  mongoose.SchemaType.call(this, key, options, 'PolygonType');
}

PolygonType.prototype = Object.create(mongoose.SchemaType.prototype);

PolygonType.prototype.cast = function(val) {
  if (!val) return null;
  if (val instanceof Polygon) return val;
  return new Polygon(val)
}

PolygonType.prototype.default = …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js mongoose-plugins mongoose-schema

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

如何用里面的注释解析JSON?

go标准包中编码/ json公开json.Unmarshal函数来解析JSON.

我有一个像这样的JSON:

{
    ...
    "tyo": {
        "ping_only": true,
        "addresses": [
            //"155.133.245.25:27015-27050",
            //"155.133.245.26:27015-27050",
            //"155.133.245.27:27015-27050",
            "45.121.186.20:27015-27016",
            "45.121.186.21:27015-27016"
        ]
    },
    "vie": {
        "addresses": [
            "185.25.182.225:27015-27050",
            "185.25.182.226:27015-27050"
        ]
    },
    ...
}
Run Code Online (Sandbox Code Playgroud)

当我使用时,json.Unmarshal我得到了错误:

处理程序崩溃,错误无效字符'/'寻找值的开头

有人能告诉我如何解析这个吗?

json go

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

将对象用作贴图时,其键始终转换为字符串.为什么?

以下代码:

let user1={name: "Sam"};
let user2={name:"Tyler"};
let totalReplies={};
totalReplies[user1]=5;
totalReplies[user2]=42;
console.log(totalReplies[user1]);
console.log(totalReplies[user2]);
Run Code Online (Sandbox Code Playgroud)

生成输出:

42
42
Run Code Online (Sandbox Code Playgroud)

我期望输出为:

5
42
Run Code Online (Sandbox Code Playgroud)

阅读,我得到了' 当使用对象作为地图时,它的键总是转换为字符串 '.我不确定我是否理解这意味着什么或为什么对象键被转换为字符串.无论哪种方式,理解输出为42 42的原因应该有助于实施这一概念.

javascript dictionary ecmascript-6

0
推荐指数
1
解决办法
67
查看次数