Javascript 如何在vuejs中在后台运行方法
我的登录表如下。工人可以轻松地首次登录和注销。当工作人员注销并尝试立即再次登录时,问题就会出现,我发现错误漂移未定义。我想在代码的漂移部分添加一个延迟,但我不想让工作者等待延迟再次被记录 所以,大约10秒或更长的延迟,但工作人员不应该等待登录。继续在后台检查漂移,并在可用时运行漂移部分,但不应冻结登录。帮我做到这一点Javascript 如何在vuejs中在后台运行方法,javascript,vue.js,background,Javascript,Vue.js,Background,我的登录表如下。工人可以轻松地首次登录和注销。当工作人员注销并尝试立即再次登录时,问题就会出现,我发现错误漂移未定义。我想在代码的漂移部分添加一个延迟,但我不想让工作者等待延迟再次被记录 所以,大约10秒或更长的延迟,但工作人员不应该等待登录。继续在后台检查漂移,并在可用时运行漂移部分,但不应冻结登录。帮我做到这一点 <template> <v-layout row wrap> <v-flex xs12 md7 lg8 > <
<template>
<v-layout row wrap>
<v-flex xs12 md7 lg8 >
<v-layout row wrap>
<v-flex md12 lg12>
<div>
<v-form :model='worker' ref='loginForm'>
<v-layout row wrap>
<v-flex xs12 md6>
<v-text-field
label='Email Address'
v-model='worker.email'
name="email"
:rules='emailRules'
required>
</v-text-field>
</v-flex>
<v-flex xs12 md6>
<v-text-field
label='Password'
v-model='worker.password'
name="password"
type='password'
:rules='passwordRules'
required>
</v-text-field>
</v-flex>
</v-layout>
<v-btn @click='login'>Log In</v-btn>
</v-form>
</div>
</v-flex>
</v-layout>
</v-flex>
</v-layout>
</template>
<script>
export default {
data: function() {
return {
worker: {
email: '',
password: ''
},
error: '',
emailRules: [
value => !!value || 'Please enter your email address',
],
passwordRules: [
value => !!value || 'Please enter a password'
]
};
},
methods: {
login() {
var that = this;
if (this.$refs.loginForm.validate()) {
this.$axios.post('sign_in.json', { user: this.worker }).then(function(response) {
drift.identify(response.data.worker.id, {
email: response.data.worker.email
})
window.location.href = '/my_account';
}).catch(function(error) {
that.error = error;
});
}
}
}
};
</script>
登录
导出默认值{
数据:函数(){
返回{
工人:{
电子邮件:“”,
密码:“”
},
错误:“”,
电子邮件规则:[
value=>!!value | |“请输入您的电子邮件地址”,
],
密码规则:[
value=>!!value | |“请输入密码”
]
};
},
方法:{
登录(){
var=这个;
if(此.$refs.loginForm.validate()){
this.$axios.post('sign_in.json',{user:this.worker}){
漂移。识别(response.data.worker.id、{
电子邮件:response.data.worker.email
})
window.location.href='/my_account';
}).catch(函数(错误){
错误=错误;
});
}
}
}
};
我不熟悉chatbox/drift,因此我不知道您是如何获得“drift”实例的,但我认为您必须添加某种异步检查以检查“drift”实例的可用性,例如
login() {
var that = this;
if (this.$refs.loginForm.validate()) {
this.$axios.post('sign_in.json', { user: this.worker }).then(async function(response) {
await getDrift().identify(response.data.worker.id, {
email: response.data.worker.email
})
window.location.href = '/my_account';
}).catch(function(error) {
that.error = error;
});
}
drift
在何处定义?它是一个库,Chatbox在何处/如何定义它与使用它的代码的关系?它是使用Thread安装的,因此当用户注销并尝试立即重新登录时,有时drift不可用,加载它需要时间。由于时间不可用,它会阻止用户登录。因此,这就是我试图实现的,当漂移不可用时,用户仍然可以登录,并在后台将工作人员详细信息发送给漂移