我在本地的代码运行良好,但在Netlify中却没有。我不知道发生了什么。流程是,我使用简单的发票包生成发票,并试图在异步中将其上传到s3。但是我的代码会在netlify平台上执行。
generating invoice...
called in
◈ Done executing background function handler-background [here it actually exits, i think]
called out我的代码是这样的:
const generateInvoice = async (data) => {
let base64FileString = '';
try {
console.log("called in")
base64FileString = await createInvoice(data); (---> this is creating problems, internally it returns a promise)
console.log("called out")
} catch(e) {
console.log("Cannot create invoice ==> ", e)
return;
}
return base64FileString.pdf;
}
};在输出端,您可以看到called in是打印出来的,然后它退出◈ Done executing background function handler-background,然后再过一段时间打印called out。
这种情况只发生在netlify function:serve (即) dev环境中。
但在Netlify平台上,它停留在called in
一些帮助是值得感谢的。
此函数的正常调用正常工作(即) node <filename>
这里有任何javascript问题吗?
发布于 2022-03-22 06:06:42
问题是,我在一个循环中有多个await调用。使用Promises.all(<loop code goes here>)代替forEach来循环使用map解决了这个问题。
另外,如果我在基于承诺的方法之间有一个回调函数。改变这个承诺解决了这个问题。
https://stackoverflow.com/questions/71497576
复制相似问题