Aurelia 与蓝鸟 Promise.join
Aurelia with Bluebird Promise.join
我可以让 Bluebird js 在最基本的 Promise 场景中与 Aurelia 一起工作:创建一个 promise 并在调用 resolve() 时发生 alert()。
但是当我尝试调用其他 promise 函数(例如 .join)时,我得到“_Promise.join 不是一个函数”。谁能提供一些见解?这是一个代码片段。
import {bluebird} from '../jspm_packages/bluebird.min.js';
...
activate(){
test.then(function(){alert('promise returned')};
}
test(){
return Promise.join(
new Promise(function(resolve){resolve();}),
function(){alert('join finished');}
);
}
看起来你的 Promise 不是来自 bluebird。 jspm_packages
中真的有bluebird.min.js
吗?
无论如何尝试在 system.js
之前将其添加到 index.html
中,例如:
...
<script src="jspm_packages/github/petkaantonov/bluebird@2.9.27/js/browser/bluebird.js"></script>
<script src="jspm_packages/system.js"></script>
...
此外,当你导入一些脚本时,不要使用 .js
扩展,做 import $ from './jquery'
我查看了 bluebird.js 的源代码,发现了这个:
module.exports = function(Promise) {
....
所以我将导入语句更改为:
import {Promise} from '../jspm_packages/bluebird.min';
并且 .join 函数现在可以使用了。
我可以让 Bluebird js 在最基本的 Promise 场景中与 Aurelia 一起工作:创建一个 promise 并在调用 resolve() 时发生 alert()。
但是当我尝试调用其他 promise 函数(例如 .join)时,我得到“_Promise.join 不是一个函数”。谁能提供一些见解?这是一个代码片段。
import {bluebird} from '../jspm_packages/bluebird.min.js';
...
activate(){
test.then(function(){alert('promise returned')};
}
test(){
return Promise.join(
new Promise(function(resolve){resolve();}),
function(){alert('join finished');}
);
}
看起来你的 Promise 不是来自 bluebird。 jspm_packages
中真的有bluebird.min.js
吗?
无论如何尝试在 system.js
之前将其添加到 index.html
中,例如:
...
<script src="jspm_packages/github/petkaantonov/bluebird@2.9.27/js/browser/bluebird.js"></script>
<script src="jspm_packages/system.js"></script>
...
此外,当你导入一些脚本时,不要使用 .js
扩展,做 import $ from './jquery'
我查看了 bluebird.js 的源代码,发现了这个:
module.exports = function(Promise) {
....
所以我将导入语句更改为:
import {Promise} from '../jspm_packages/bluebird.min';
并且 .join 函数现在可以使用了。