我对大部分内容都很陌生 - 所以我很确定我缺少一些基本的东西。
这引起了很多调试 - 悲伤但是由于某种原因,在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);});`