【发布时间】:2014-11-05 01:40:49
【问题描述】:
我已经包含了 bluebird.js 脚本,如下所示: https://github.com/petkaantonov/bluebird#quick-start
所以现在我期待这个:
全局变量 Promise 和 P(Promise 的别名)变为 在上述脚本标记之后可用。
但是,检查全局 Promise 变量,我发现这是原生 Chrome 实现,而不是 bluebird 承诺。好吧,不覆盖本机实现似乎是合乎逻辑的。但是,仍然没有来自 bluebird 的全局 P 变量。这是为什么?
我尝试的另一个选项是使用:
var prom = require("bluebird");
但是当我尝试要求时,它显示“错误:undefinedModule”。一个可能的原因是我正在使用 dojo,它有自己的模块加载器和定义/要求功能。所以这可能是某种名称冲突。
毕竟,主要问题仍然存在 - 当全局变量(Promise 和 P)不存在且 require 不起作用时,我该如何使用 bluebird promise?
【问题讨论】:
-
您是否将 bluebird.js 文件放在您自己的服务器上?您是否 100% 确定您的
<script>标签 URL 正确指向您的 bluebird.js 副本?听起来您的脚本标签没有正确加载库。 -
是的,我从本地文件夹加载它。在开发工具中,我可以看到脚本已正确加载。
标签: javascript dojo promise bluebird