如何把res.data赋值到外界,已经用一个promise包裹,不过vue3好像不知道要怎么做
1、定义方法传入回调函数
const fun = (callback: (v: any) => void) => {
new Promise(function(resolve, reject){
// 请求接口,通过resolve返回数据
resolve('随便什么数据!')
}).then(res => {
// res是resolve返回的数据
callback(res)
})
};
fun((v) => {
console.log(v)
})
2、方法返回promise
const fun = () => {
return new Promise(function(resolve, reject){
// 请求接口,通过resolve返回数据
request('url', params)
.then((res) => resolve(res))
.catch((e) => reject(e));
})
};
在需要调用的地方使用
fun().then(res => {
//resolve中的数据
console.log(res)
})
定义个响应式 变量 在promise得then里赋值呗 。
不知道你这个问题是否已经解决, 如果还没有解决的话:v3的话再setup里面用ref或者reactive这样定义,比如:const aa = ref(''),像你这个的话用const data = reactive([]),这样定义,data = res.data,用ref定义的话是data.value = res.data,有的时候得是data.values才可以,不清楚为什么