小编Kat*_*rax的帖子

如何要求模块影响Node.js的性能?

我最近一直在阅读关于Node.js的一些文档,试图让我开始做一些个人工作.在这个过程中,一次又一次地想到了一个想法,但我无法得到满意的答案.

在我到目前为止看到的每一段代码中,都有相当多的require().我理解它的主要功能是包含模块.但似乎人们用它来包含其他Javascript文件.据我所知,在Javascript中没有正确的方法(如下所述:如何在另一个JavaScript文件中包含JavaScript文件?).

这是我关心的问题; 根据功能分离文件显然有利于提高可读性.但是,不需要()大幅减慢程序,因为它必须通过打开Javascript文件来获取信息等等?如果是这样,差异是否足以让人担心在Web应用程序中?

在提交版本之前编写一个自动化汇编过程以获取单个文件(或至少更整体的文件)的程序是不是更为谨慎?

javascript node.js

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

Pg-promise:返回查询结果的正确方式

我想使用pg-promise.

我使用以下查询:

this.db.one('SELECT EXISTS(SELECT 1 FROM users WHERE username = $1)', username);
Run Code Online (Sandbox Code Playgroud)

我试图将此查询封装在一个函数中,如果用户名存在,则该函数仅返回 true,否则返回 false。

就像是:

existsUsername(username){
  this.db.one('SELECT EXISTS(SELECT 1 FROM users WHERE username = $1)', username)
         .then(data => {
           if(data.exists == true){
             return true;
           } else {
             return false;
           }
         });
}
Run Code Online (Sandbox Code Playgroud)

我可以像这样简单地使用:

if(db.users.existsUsername(username)){
  // this username is already taken
}
Run Code Online (Sandbox Code Playgroud)

但是,在查询完成之前评估 if 条件,从而导致未定义的变量。

返回查询结果的正确方法是什么?

编辑:外部调用者执行多个异步检查并返回用户是否有效:

function signUp(username, email, ...){
  // perform username existence check existsUser(username)

  // perform email existence check existsEmail(username)

  // ...

  // if everything …
Run Code Online (Sandbox Code Playgroud)

asynchronous node.js express pg-promise

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

标签 统计

node.js ×2

asynchronous ×1

express ×1

javascript ×1

pg-promise ×1