首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netlify后台函数在它之后返回(执行后台函数处理程序-后台)

Netlify后台函数在它之后返回(执行后台函数处理程序-后台)
EN

Stack Overflow用户
提问于 2022-03-16 13:01:14
回答 1查看 75关注 0票数 0

我在本地的代码运行良好,但在Netlify中却没有。我不知道发生了什么。流程是,我使用简单的发票包生成发票,并试图在异步中将其上传到s3。但是我的代码会在netlify平台上执行。

代码语言:javascript
复制
generating invoice...
called in
◈ Done executing background function handler-background [here it actually exits, i think]
called out

我的代码是这样的:

代码语言:javascript
复制
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问题吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-22 06:06:42

问题是,我在一个循环中有多个await调用。使用Promises.all(<loop code goes here>)代替forEach来循环使用map解决了这个问题。

另外,如果我在基于承诺的方法之间有一个回调函数。改变这个承诺解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71497576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档