vue3 promise函数里面数据修改不能实时更新怎么解决
在Vue 3中,可以使用reactive函数将一个对象转换为响应式对象,以便在Promise函数中实时更新数据。
以下是一个示例代码:
import { reactive } from 'vue';
export default {
setup() {
const data = reactive({
message: ''
});
const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
data.message = 'Data has been updated'; // 修改数据
resolve();
}, 1000);
});
};
const handleClick = () => {
fetchData().then(() => {
console.log(data.message); // 实时更新的数据
});
};
return {
data,
handleClick
};
}
}
在上面的代码中,通过reactive函数将data对象转换为响应式对象,然后在fetchData函数中修改data.message的值。当fetchData函数被调用后,data.message会实时更新,并且在handleClick函数中可以获取到最新的值。
这样,就可以在Promise函数中实时更新数据了
原文地址: https://www.cveoy.top/t/topic/iZAb 著作权归作者所有。请勿转载和采集!