export default 要写在js文件的最外层,但是我要在ajax请求成功后再导出变量,要如何做?放入success里面也不行。
你可以这样写
function ajaxFun(url, callback){
$.ajax({
...
success: (res)=>{
callback(res);
}
});
}
export default axiosFun
写了一个 async 版本的 简略的代码 这样导出的是一个promise对象
在别的模块中 import 之后 可以在then 方法中获取到值
export default (async () => {
let i18n = await new Promise((resolve, reject) => {
$.ajax({
success(result) {
resolve(new VueI18n({message:{en:result.en}}))
}
})
})
return i18n
})()
=======================================
import i18n from '...i18n'
let i18nData
i18n.then(data => i18nData = data)
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
方案1.
ajax 异步改为同步
async: false,
方案2.
既然用了es6了,为什么不用es6的控制执行顺序的那个api呀,