混合开发中,vue怎样动态获取后台的域名地址。
问题描述
有两套后台环境,app可以自己选择切换,使用native方法可以获取到地址,但是native方法是异步函数,而获取到的环境又是需要export出去的,我要怎样获取同步动态获取到后台地址并且export出去
问题出现的环境背景及自己尝试过哪些方法
我试过用promise方法,
相关代码
let url = null;
async function geturl() {
// 开发环境
url = '000';
const getEnvironment = () => {
return new Promise((resolve, reject) => {
console.log("进入getEnvironment");
// 计时器代替native方法
setTimeout(() => {
url = '111';
resolve();
}, 1000)
});
};
if(true){
//测试环境
await getEnvironment();
// 现在的结果就是 geturl方法里面是同步执行的,会等到计时器完成以后,这里拿到的url是‘111’,
}
}
geturl();
// 但是在这个地方 url是为null的,所以export出去的还是null
export default url;
你期待的结果是什么?实际看到的错误信息又是什么?
怎样才能让export default url中的url是经过计时器修改后的url?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
同步是在async函数内部,外部执行的时候还是异步的。修改方式如下所示。
不要default的形式导出去 直接export url