关于 export 的一个问题:如何实现请求全部完毕后,再直接 export 一个变量,现在只能 export 一个 promise 对象

2019-07-01 14:32:57 +08:00
 WhoAmIAndwhoAreU
let newResDataArr=[];//所传数据
export default new Promise(async(resovle,reject)=>{
		for (let i=1;i<6;i++) {
			let {data} = await vm.$apid.allService(100,1,i)
			let res=data.data.records
			newResDataArr[i]={
				"name": "测试",
				"foods":res.map(item => {
					return {
						name: item.serviceName,
						key: item.serviceName,
						icon: vm.$store.state.myBaseUrl+vm.$store.state.devUrl+item.imgUrl,
						cat: i
					}
			})
			}
		}
		resovle(newResDataArr)
	})
1286 次点击
所在节点    程序员
3 条回复
mooncakejs
2019-07-01 15:09:44 +08:00
不可能
arrow8899
2019-07-01 16:41:28 +08:00
promise.all ?
akatquas
2019-07-01 19:19:00 +08:00
做不到的, 这个 export 的 东西在文件加载的时候就被输出了,
只能等到 promise 结束,拿到那个数据

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/578947

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX