小编Raf*_*ael的帖子

访问 Node 上的 Windows 快捷方式 (.lnk) 数据

有什么方法可以解析 Node 中 .lnk 文件的快捷方式数据(例如,主要是它指向的路径)?

windows node.js

6
推荐指数
2
解决办法
2699
查看次数

Node.js Express中的异步代码

我正在尝试使用Node.js Express创建MVC模式,但是在执行异步代码时,这似乎是一件不可能完成的任务。

举个例子:我正在从模型中的NeDB数据库中获取结果,如下所示:

控制器/database.js

// Database management stuff with NeDB
var data = {};
db.findOne({ _id: 1 }, (error, doc) => {
    if (error) console.error(error);
    data = doc;
}
Run Code Online (Sandbox Code Playgroud)

现在,我将在名为dbcontroller.js的控制器中使用它:

var nedb = require('../models/nedb.js');

module.exports.list = function(req, res, next) {
    res.render('listpage', {
        data: nedb.data,
    });
Run Code Online (Sandbox Code Playgroud)

routes / routes.js文件中:

var express = require('express');
var router = express.Router();
var dbcontroller = require('../controllers/dbcontroller.js');
// Other controllers...

router.get('/list', dbcontroller.list);
// Other route definitions...

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

可爱的安排,不是吗?现在,可以肯定的是,NeDB findOne()函数是异步的,因此它将在module.exports之后执行,而不会执行。我想到的解决方案当然是将module.exports定义放入findOne()回调中!

db.findOne({ _id: …
Run Code Online (Sandbox Code Playgroud)

asynchronous node.js express

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

允许在打字稿中使用某些“未找到”的变量名称?

我正在使用的模块应该在浏览器中作为一个很好的旧 Window 对象被调用,因此不会作为模块导入到文件中。出于这个原因,Typescript 的编译器对"Cannot find name [variable]". 有没有办法可以将 Typescript 找不到但我确定它会在运行时使用的名称“列入白名单”?

typescript

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

符号与数字文字的性能?

我一直在使用对象文字作为穷人的枚举,如下所示:

let enum = {
    option1: Symbol("o1"),
    option2: Symbol("o2"),
    option3: Symbol("o3")
};

let item = enum.option2;

if(item === enum.option2) { console.log("Item is Option 2!") }
Run Code Online (Sandbox Code Playgroud)

我使用Symbol是因为我认为它比使用数字更具有语义意义——在这种情况下,我并不真正关心“枚举”携带的值,我只想检查相等性——但我有点担心这样做的性能考虑就这样。如果我继续使用符号代替整数,我是否会给处理器带来更大的压力?

javascript

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