Vue.js异步函数传参变为undefined问题求助
解决Vue异步函数调用时参数变为undefined的问题
问题核心是参数传递格式不匹配:
- 你的
FETCH_DATA异步函数第二个参数使用了对象解构,要求传入一个包含dataList属性的对象:async [FETCH_DATA]( { rootGetters }, { dataList, retries = 3 }, // 此处解构对象,需传入{ dataList: xxx }格式的参数 ) { // ... } - 但调用时直接传入了数组
itemList,没有包装成符合要求的对象,导致解构dataList时找不到对应属性,最终返回undefined。
解决方法
修改调用代码,将数组包装成包含dataList的对象即可:
async handleSubmission(successResponse) { const { itemId } = successResponse; if (successResponse.isPromotional) { const itemList = [itemId]; console.log('Logged itemList:', itemList); // 把数组包装为符合参数要求的对象 const response = await this.fetchData({ dataList: itemList }); // 后续代码执行 } },
调整后,FETCH_DATA中的dataList就能正确接收[123456]的值了。
内容的提问来源于stack exchange,提问作者Underoos
相关产品推荐
相关产品推荐

