9***@qq.com
9***@qq.com
  • 发布:2021-07-20 08:14
  • 更新:2021-11-26 15:28
  • 阅读:426

云函数本地执行正常云端执行显示成功但是实际未执行成功

分类:uniCloud

代码如下:

'use strict';  
exports.main = async (event, context) => {  
	const res = await uniCloud.httpclient.request('https://api.xxxxxxxxxxxxxxx',{dataType: 'json'})  
	const update=uniCloud.database().collection('update')  
	const dbCmd = uniCloud.database().command  
	await update.where({  
	  _id: dbCmd.exists(true)  
	}).remove()  
//清空数据库  
	res.data.xxxxxxxxx.forEach(async ani=>{  
		try{  
			let resDetial = await uniCloud.httpclient.request('https://api.xxxxxxxxxxxxx'+ani.id,{dataType: 'json'})  
			ani.img=resDetial.data.xxxxxxx  
			console.log(ani.img)  
			let n=await update.add(ani)  
			console.log(n)  
			  
		}catch(e){  
			console.log(e)  
		}  
	})  
};

本地运行一切正常,云函数执行显示成功,但是console打印的东西日志里没有,而且执行时间很短
控制台日志:

云函数日志:

前面数据库清空的代码块执行了,后面更新的没有
下载云端函数确认与本地一致
云函数超时设置10分钟,内存512M

2021-07-20 08:14 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

所以楼主解决了?我也遇到云函数里面循环执行异步任务,本地可以,云端不行

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

云端环境在云函数返回之后就会结束执行,你的异步操作是没法执行完成的,需要等待异步操作

该问题目前已经被锁定, 无法添加新回复