为什么JS严格模式不能在Q Promises中运行?

时间:2016-02-21 01:55:51

标签: javascript promise q

我对大部分内容都很陌生 - 所以我很确定我缺少一些基本的东西。

这引起了很多调试 - 悲伤但是由于某种原因,在promise回调方法中没有强制执行严格模式:

"use strict";
const Q = require("q");
Q(3).then(function(x){console.log(abc);})
setTimeout(function(){console.log("done!")}, 5000);

我在控制台上获得的所有内容是5秒后done!

现在如果我做了:

"use strict";    
console.log(abc);

我会得到ReferenceError: abc is not defined

发生了什么事?为什么严格模式不受尊重?

我发布后立即更新我发现它(承诺的新内容)。

我没有抓住阻挡。所以这可以按预期工作

Q(3)
    .then(function(x){log.info(abc);})
    .catch(function(x){log.error(x);});`

0 个答案:

没有答案