关于 es6 模块的异步加载和异步输出

wfc_666
  • 643

请教大神一个问题。
是这样的,有一个 js 文件,然后里面有异步的 ajax 请求,需要把请求结果赋值给一个变量来导出,用 export ,但是由于 ajax 请求是异步的,所以 export 导出时该变量是没有值的,如果写在 promise 里的 then() 来导出又不行,因为 export 必须在文件的顶层。
请问这种情况怎么解??
急,这个问题困扰好久了。

回复
阅读 6.8k
2 个回答
✓ 已被采纳

直接export一个Promise对象

export let something = new Promise(resolve => {
    //省略
});

import后用then获取

import {something} from 'module';
something.then(i =>{
    //省略
});

想法很好,但是不能实现

es6的promise就是让你返回的,你在外面调用then就行了

宣传栏