小编Zan*_*nko的帖子

然后在之前和之后放置捕获物

我无法理解将.catchBEFORE和AFTER放在嵌套的promise中之间的区别.

备选方案1:

test1Async(10).then((res) => {
  return test2Async(22)
    .then((res) => {
      return test3Async(100);
    }).catch((err) => {
      throw "ERROR AFTER THEN";
    });
}).then((res) => {
  console.log(res);
}).catch((err) => {
  console.log(err);
});
Run Code Online (Sandbox Code Playgroud)

备选方案2:

test1Async(10).then((res) => {
   return test2Async(22)
     .catch((err) => {
        throw "ERROR BEFORE THEN";
      })
      .then((res) => {
        return test3Async(100);
      });
  }).then((res) => {
    console.log(res);
  }).catch((err) => {
    console.log(err);
  });
Run Code Online (Sandbox Code Playgroud)

每个函数的行为如下,如果number为<0test2则test1失败,如果number为,则test1失败,如果number为number则> 10test3失败100.在这种情况下,test2只是失败了.

我尝试运行并使test2Async失败,BEFORE和AFTER之后的行为方式相同,并且没有执行test3Async.有人可以向我解释将捕捞放在不同地方的主要区别吗?

在每个函数中我console.log('Running test X')都要检查它是否被执行.

这个问题出现是因为我发布的上一个帖子如何将嵌套回调转换为promise?.我认为这是一个不同的问题,值得发布另一个主题.

javascript node.js promise bluebird

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

许多CDNjs与一个缩小的本地js

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.1/jquery.inputmask.bundle.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/1.5.3/numeral.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/Ladda/1.0.0/spin.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/Ladda/1.0.0/ladda.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-modal/2.2.6/js/bootstrap-modalmanager.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-modal/2.2.6/js/bootstrap-modal.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

VS

<script src="/myMin.js">
Run Code Online (Sandbox Code Playgroud)

(myMin.js将包含连接在一起并缩小的所有js文件)性能最佳?我正在使用cdnjs,因为它解决了其他地区的人直接从我的服务器下载js文件的问题.例如,亚洲人不必从美国服务器下载我的js文件,这是一个巨大的性能问题.cdnjs帮助我在全球范围内散布js文件.因为cdnjs是异步下载所以什么时候myMin.js首选?

javascript cdn

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

二进制搜索终止条件

每当我迭代地执行二进制搜索时,我总是很困惑我是否应该使用while (low < high)while(low <= high).

虽然两者都有效但有人能告诉我一个人的实际优势是什么?

algorithm binary-search

7
推荐指数
2
解决办法
2351
查看次数

O (n / 2) 的运行时间复杂度

我曾经明白这一点,但不再明白了。假设我有一个算法可以返回数组中间的数字。

for (int i = 0; i < nums.length; i++) {
  if (i == nums.length / 2) return nums[i];
}
Run Code Online (Sandbox Code Playgroud)

最坏的情况总是 O (n / 2) 对吗?没有比这更糟糕的情况了。但是我们怎么就得出结论它是 O(n) 呢?

algorithm time-complexity

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

异步函数作为回调函数

我刚刚开始使用async/await,并且对它如何与回调交互感到困惑.例如,

fooMethod(function() {
    return Promise.resolve("foo");
});
Run Code Online (Sandbox Code Playgroud)

VS

fooMethod(async function() { //add async keyword
    return "foo";
});
Run Code Online (Sandbox Code Playgroud)

必须以特定的方式编写fooMethod,以便它可以处理async函数作为回调吗?

如果fooMethod是公共图书馆,我怎么知道async向该函数添加关键字是安全的?

跟进

Express路由器,

app.get('/foo', function (req, res) {
  return res.send("foo");
});



app.get('/foo', async function (req, res) {
  return res.send("foo");
});
Run Code Online (Sandbox Code Playgroud)

这两个功能都有效,虽然使用安全吗?

javascript

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

选择NPM(querystring或qs或query-string)模块是哪个?

我无法找到有关此问题的答案。这三个模块都很受欢迎。这三个都支持我的用例。但是,我真的很好奇它们之间的区别。

那里的帖子以某种方式有助于解释body-parser-扩展选项(qs vs querystring)

qs和querystring之间有什么区别, 但是它仍然缺少第三个比较(query-string)

node.js query-string

6
推荐指数
0
解决办法
638
查看次数

文本扩展到按钮HTML之外

https://plnkr.co/edit/dZigMtncPEed4MK75swb?p=preview

<button style="width: 50px" type = "submit">Very very very verey looooooooooooooooooooooong</button>
Run Code Online (Sandbox Code Playgroud)

如您所见,文本扩展到外部.有没有办法截断文字?这背后的原因是按钮是下拉菜单的一部分.

在此输入图像描述

文字是白色的,所以很难看到它"打破"按钮.

[UPDATE]

无论如何还要为文本溢出添加边距:省略号.省略号太接近文本而且没有吸引力(在我看来)

在此输入图像描述

[更新2]由于我通常把我的插入符号放在文本的末尾,因此上面的解决方案会导致我的插入符号丢失.有什么方法可以让我用椭圆形跟随插入符号吗?

在此输入图像描述

[更新3]无论如何都要让插入符号在最后对齐? 在此输入图像描述

html css html5 css3

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

MongoDB被勒索赎金

我的mongodb现在被勒索赎金,上面写着"你的数据库在我们的服务器上备份,恢复发送0.1比特币到比特币地址,然后用你的服务器ip发送电子邮件".在阅读了很多文章之后,我仍然不确定可公开访问的数据库是什么意思.目前我通过SSH访问我的数据库到我的Droplet用户名和密码,并通过端口27017连接黑客如何访问我的数据库?请告诉我如何防止将来发生这种情况!谢谢

security mongodb

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

端口80的Https和SSL问题

最近,我刚刚开始对服务器使用https://,奇怪的是,如果我明确键入“ https://www.example.com:80 ”,则可以打开,但是如果我键入“,则无法连接” https://www.example.com

我将NodeJS与Digital Ocean上托管的Express 4框架一起使用。

如何使人们正常访问我的网站?而且,他们第一次访问时必须点击“接受”是正常的吗?为什么对于其他https网站我不必这样做?

我正在使用RapidSSL。

ssl https node.js digital-ocean

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

在将C++代码部署到Github期间.lib和.dll

我知道.lib是静态库链接,.dll是动态的.这意味着当生成.exe时,.lib不需要在.exe之间工作.但是,.dll需要放在.exe引用和运行的正确相对路径中.

我的问题是.lib.将源代码上传到Github时,我是否也在项目文件夹中包含.lib文件?这样做的最佳做法是什么?

大多数显示如何安装库的教程使我们将.lib文件链接到其原始文件夹,并将.dll文件移动到工作项目文件夹中.那么我应该将.lib文件移动到我的项目文件夹中吗?如果我不这样做,这意味着下载我的源代码的人必须找到相应的.lib文件进行链接和编译吗?

c++ dll

4
推荐指数
2
解决办法
1296
查看次数