Javascript 异步函数-数据函数应该返回一个对象吗?
为什么我们不能在数据函数中使用async,但在其他函数中可以使用async?例如:Javascript 异步函数-数据函数应该返回一个对象吗?,javascript,asynchronous,vuejs2,async-await,vue-component,Javascript,Asynchronous,Vuejs2,Async Await,Vue Component,为什么我们不能在数据函数中使用async,但在其他函数中可以使用async?例如: export default { data: async function () { // not ok return { item: null, } }, beforeMount: async function() { // this is ok let result = await axios.get('./data-social.json') this
export default {
data: async function () { // not ok
return {
item: null,
}
},
beforeMount: async function() { // this is ok
let result = await axios.get('./data-social.json')
this.item = result.data
},
mounted() {
},
}
我将得到以下错误:
[Vue warn]: data functions should return an object:
有什么想法吗?将
异步
放在函数转换为返回承诺的函数之前<代码>数据
方法必须返回对象
,而不是承诺
async function myFunction () { [code] }
相当于
function myFunction () {
return Promise(function (resolve, reject) {
try {
resolve((function () { [code] })());
} catch (error) {
reject(error);
}
});
}
我建议您删除async语句。在函数将其转换为返回
承诺的函数之前放置async
<代码>数据
方法必须返回对象
,而不是承诺
async function myFunction () { [code] }
相当于
function myFunction () {
return Promise(function (resolve, reject) {
try {
resolve((function () { [code] })());
} catch (error) {
reject(error);
}
});
}
我建议您删除异步声明