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

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

阅读 8.1k
2 个回答

直接export一个Promise对象

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

import后用then获取

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

想法很好,但是不能实现

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进