gpt4 book ai didi

javascript - 尝试编写 Google Cloud Function 以使用 node.js 写入 Google Sheet

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:38 26 4
gpt4 key购买 nike

我刚刚从 Google Apps 脚本过渡到 node.js 和 Google Cloud Functions,现有帖子中的部分代码我不明白。

在这篇文章中:How to use Google sheets API while inside a google cloud function ,@domdomegg 列出了从 Google Cloud Function 调用 Google Sheets API 的代码示例。我已经让该代码在 Google Cloud Function 中运行。

但是,我不明白代码的特定片段:

    // This just prints out all Worksheet names as an example
.then(({ data: { sheets } }) => {
res.status(200).send({ sheets });

这是我不明白的data: {sheets}位。我想这是我需要将代码写入 Google 表格的地方,但因为这对我来说有点神秘。我够菜鸟了,我还不能在原来的帖子上发表评论。对菜鸟有什么帮助吗?

最佳答案

这确实是一些复杂(棘手)的语法......让我们看看我们是否无法将其分解。

首先是.then(...)。这就是所谓的 promise 得到解决。 then 的参数是一个函数。

在这个例子中,函数是:

({data: {sheets}}) => {
res.status(200).send({sheets});
}

如果这令人困惑,可以将其重写为:

function({data: {sheets}}) {
res.status(200).send({sheets});
}

但是这个函数参数的奇怪之处是什么呢?我们习惯于看到以下形式的函数:

function(a, b, c) {
...
}

其中 abc 是参数。在我们的例子中,参数似乎是 {data: {sheets}} ...我们如何解析它?

答案似乎是一个名为“解构赋值”的 ECMAScript6 概念。请参阅此处:

http://es6-features.org/#ObjectMatchingDeepMatching

看来:

function({data: {sheets}}) {
...
}

逻辑上等同于:

function(_tmp) {
let sheets = _tmp.data.sheets;
...
}

最后...

send({sheets})

逻辑上是:

send({sheets: sheets})

一如既往,我可能是错的,所以让我们留意评论,我可以根据进一步的反馈更新或删除此答案。

关于javascript - 尝试编写 Google Cloud Function 以使用 node.js 写入 Google Sheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58387425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com