无法弄清楚为什么本机 Promise 变量未定义
Can't figure out why the native Promise variable is undefined
我有一个大型的JavaScript库,我用Google的闭包编译器压缩了它。
我已经将我的压缩代码包装在一个匿名函数中,这样我就不会得到名称冲突,它包含在这样的外部文件中
// My external JS file
(function(){
// Closure compiler compressed code
})();
但正因为如此,我的代码不断抛出一个错误,Promise
是未定义的。但奇怪的是,它在主页的范围内可用。因此,如果我转到调用堆栈的最顶部并在控制台中键入Promise
,它会返回函数。我已经检查过它没有在任何地方被过度刺激。
我想不出任何其他可能导致它未定义的东西,我被困住了。
匿名函数如何导致Promise
变量未定义?
在这里上传了一个截屏视频,演示了我的问题,在屏幕投射软件运行时有点滞后。
编辑:承诺是当前版本的chrome中的内置本机变量
原来发生了什么
是吊装。在我的代码中的某个地方,有一些类似的东西
// This condition was never being met as it contained code to check if I'm
// in a node.js environment.
if (thisConditionIsNotTrue){
// But because there's no 'var' before Promise it's being hoisted and
// setting my global Promise variable to undefined. Even though if the
// require statement was actually run it would throw an error as it
// doesn't exist in the browser.
Promise = require("node-promise").Sj;
}
相关文章:
- 无法弄清楚为什么本机 Promise 变量未定义
- 在 promise 中获取构造函数变量
- 如何在Promise回调中访问实例变量
- Javascript:将变量传递给 Promise
- 当从 for 循环填充变量时如何使用 promise
- Anjular Promise 不设置变量
- 如何将从$promise返回的数据分配给全局变量
- 使用 promise 将异步函数的结果作为“变量”返回
- 访问Node.js中其他promise函数中的firebase防火promise局部变量-避免全局
- 访问Promise链中的外部变量
- 异步设置变量使用promise并避免回调
- 如何从Q节点promise返回变量
- bluebird.js P和Promise全局变量不可用
- 使用promise中的数据更新angular2View/全局变量
- 如何在promise解析时手动将promise的结果获取到作用域变量中
- 由于promise,Protractor无法将变量与web元素进行比较
- 外部变量不能在Promise内部改变.然后函数
- 如何在promise的控制器之外使用函数变量
- 在promise中将变量设置为Parse Query的result只显示响应中的第一项
- Bluebird promise变量:'undefined不是函数;