#冲刺创作新星#使用Serverless的函数需要关注这些内容 原创

急需吃饭的小谢
发布于 2022-10-20 20:53
浏览
0收藏

使用Serverless的函数需要关注这些内容

有了serverless,我们只需要编写函数就可以了,但在函数的触发的时候需要特别留意的是它的上下文的问题。这篇文章我们讲讲Serverless中的函数。

我们知道Serverless中的函数要与触发器进行绑定,至于触发器的类型有http触发器、定时触发器、消息触发器、忘光触发器等等,这些触发器是一个事件源,调用函数的过程看作是一个事件驱动的过程。

请求方式

通过API Server调用函数的方式有同步调用和异步调用两种情况。熟悉线程的肯定都知道同步和异步有什么区别了。同步调用需要等待函数执行完返回结果,而异步调用不需要等待结果,异步调用返回的是请求的id,

我们知道,使用了Serverless后我们只需要编写代码把代码部署到FaaS平台中,云服务商为我们拉群代码,启动容器,初始化运行环境,这三个阶段属于冷启动阶段,运行代码阶段属于热启动阶段。

注意事项

在使用函数的时候,我们要注意一件事情,那就是函数中的变量信息

我们举个例子🌰

const now = format(new Date());
exports.handler = (event, callback) => {
  saveData(now)
  .then(() => callback(null))
  .catch(callback(error));
}

now是一个变量,我们在函数第一次执行的时候,获取now为当前时间,在函数还没有销毁的时候,第二个请求来了,这个时候now变量已经有值了,这就导致获取时期的这个变量的值没有改变。所以出现这类问题的时候,我们要把这个变量放在这个入口函数里,这样得到的值每次调用函数的时候每次就进行初始化获取了。

总结

这篇文章我们主要讲了Serverless中的函数的知识点,函数依靠触发器、api等事件源来触发,请求方式我们可以是同步的也可以是异步的,在使用函数的时候,我们要注意函数的变量,如果把变量定义在了入口函数的外面的话,就可能会导致请求多次变量的值并没有发生改变,从而可能出现产生的数据相同的问题

❤️ 感谢大家

如果你觉得这篇内容对你挺有有帮助的话:

  1. 欢迎关注我❤️,点赞👍🏻,评论🤤,转发🙏
  2. 关注周结论本人,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
  3. 有不当之处欢迎批评指正。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
1
收藏
回复
举报
回复
    相关推荐