等待谷歌服务器端函数解析的最简单方法

2023-12-14

我需要客户端代码等待被调用的服务器端(google.script.run)函数完成,然后再运行更多代码。

The withSuccessHandler(successFunc)不会导致服务器调用之后的代码行等待。

我做了什么:

async function func(){
   await google.script.run.withSuccessHandler(myFunc).serverFunc();
   console.log("done");
}
func();

代码如何等待执行console.log直到服务器端功能解决之后才行?


这个答案怎么样?请将此视为多个答案之一。

模式一:

在这种模式下,之后serverFunc被运行,myFunc正在运行。当时,console.log("done")运行于myFunc.

function myFunc() {
   console.log("done");
}

function func(){
   google.script.run.withSuccessHandler(myFunc).serverFunc();
}

func();

模式2:

在这个模式中,使用了 Promise。当你跑步时func(),你可以看到ok and done为了。

function myFunc() {
  return "ok";
}

async function func() {
  await new Promise(r => {
    google.script.run.withSuccessHandler(r).serverFunc();
  });
  const res = myFunc();
  console.log(res);
  console.log("done");
}

func();

Note:

  • 如果您测试以上示例,请设置以下功能serverFunc()在 Google Apps 脚本端。
  • 这是一个简单的示例脚本。所以请根据您的实际情况进行修改。

参考:

  • 类 google.script.run
  • withSuccessHandler(函数)
  • 使用 Promise

如果这不是您想要的方向,我深表歉意。

Added:

如果您想使用来自的值serverFunc at myFunc,下面的示例脚本怎么样?

示例脚本:

function myFunc(nice) {
  doStuffs(nice);

  return "ok";
}

async function func() {
  const e = await new Promise(r => {
    google.script.run.withSuccessHandler(r).serverFunc();
  });
  const res = myFunc(e);
  console.log(res);
  console.log("done");
}

func();
  • 在此脚本中,返回值来自myFunc可以通过以下方式检索res.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

等待谷歌服务器端函数解析的最简单方法 的相关文章

  • 我如何使用 querySelector() 选择具有双类的元素

    当我想使用 querySelector 选择元素时遇到问题 ul class xoxo blogroll ul 我怎样才能选择它ul元素 在我的代码中我像这样使用 var list document body querySelector u
  • React Native:不透明视图内的透明视图

    我想用不透明框架和透明中心显示相机的视图 就像图片中的一样 黑色部分是相机的视图 我正在寻找具有纯反应本机组件的解决方案 没有额外的库 例如https github com gilbox react native masked view h
  • JavaScript - 无需布尔值即可运行一次

    有没有办法只运行一段JavaScript代码ONCE 而不使用布尔标志变量来记住它是否已经运行过 具体来说not就像是 var alreadyRan false function runOnce if alreadyRan return a
  • 实现悬停信息框

    我有一个日历 当用户将鼠标悬停在单元格上时 会出现一个很大的信息框 其中包含该日期的详细信息 虽然当用户离开时使信息框消失 但我遇到了一些麻烦 我基本上想要它 这样当鼠标光标移出信息框隐藏的日历单元格时 它就会消失 但我遇到了麻烦 因为mo
  • 使用命名的成功/错误回调在 AngularJS 中声明一个 Promise

    我正在尝试做一些与 http 服务非常相似的事情 根据我的理解 http 返回一个 Promise 对象 使用它时 语法是 http success function data success callback error function
  • 无法读取未定义的“触及”属性

    为什么我会收到此错误无法读取未定义的属性 为什么无法读取formName controls email touched但它能够阅读formName get custDetails touched
  • React 应用程序中的 addEventListener 不起作用

    一些背景 我正在尝试消费自定义网络组件在 React 应用程序中并尝试监听来自 Web 组件的事件 我相信您不能只在自定义 Web 组件上以通常的反应方式处理事件 i e
  • 限制 Dropzone 仅上传特定类型的文件

    我正在使用 Dropzone 上传文件 这是我的代码 div div
  • window.open:是否可以打开一个新窗口并修改其 DOM

    我想打开一个新窗口 var my window open iframe html blank height 600 width 600 但当我打开它时 我想修改它的DOM 我尝试过 var div my document createEle
  • 带有 mkdocs 的本地 mathjax

    我想在无法访问互联网的计算机上使用 MathJax 和 Mkdocs 因此我不能只调用 Mathjax CDN Config mkdocs yml site name My Docs extra javascript javascripts
  • 如何在 javascript 中基于类型字符串创建新对象?

    如何基于变量类型字符串 包含对象名称 在 javascript 中创建新对象 现在我有 随着更多工具的出现 列表会变得更长 function getTool name switch name case SelectTool return n
  • 如何知道浏览器空闲时间?

    如何跟踪浏览器空闲时间 我用的是IE8 我没有使用任何会话管理 也不想在服务器端处理它 这是纯 JavaScript 方法来跟踪空闲时间 并在达到一定限制时执行一些操作 var IDLE TIMEOUT 60 seconds var idl
  • 有没有办法伪造同步 XHR 请求?

    我正在使用 Emscripten 系统将一堆 C 代码移植到 Javascript C 代码有很多调用fopen这是一个同步 IO 调用 在 Emscripten 中 我们使用对本地资源的 XHR 请求来模拟这一点however 在 Fir
  • JavaScript 提升解释

    下面的片段有什么区别 var a 0 function b a 10 return function a b console log a gt 10 and var a 0 function b a 10 return function a
  • Outlook 加载项,无法读取未定义的属性“BeginRequestEventArgs”

    我使用 Visual Studio 开发了 Outlook 插件 我的插件有一个按钮 用于填充会议邀请正文中的详细信息并添加所需的与会者 这在 99 的情况下都有效 但是 时不时地它会给我下面的 JavaScript 错误 Uncaught
  • Javascript onload 不起作用[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • Javascript 中 if 语句中的假值?

    过去两周 我在学校研究 JavaScript 的事情已经有一段时间了 而且我一直在做我的作业 在 Douglas Crockford 所著的 JavaScript The Good Parts 一书中 作者在第 11 页上列出了 if 语句
  • ReactJs 警告:不推荐使用改变“style”。考虑事先克隆它

    我收到以下警告 inWarning div was passed a style object that has previously been mutated Mutating style is deprecated Consider c
  • DOM 解析器 Chrome 扩展内存泄漏

    问题 我开发了一个扩展程序 可以拦截 Web 请求 获取 Web 请求来源的 HTML 并对其进行处理 我使用 DOMParser 来解析 HTML 并且意识到 DOMParser 正在导致大量内存泄漏问题 最终导致 chrome 扩展崩溃
  • 用javascript调用外部网页(跨域)

    我正在尝试使用以下网络服务来验证提要这个问题 https stackoverflow com questions 11996430 check if a url is a valid feed 但浏览器不允许我向另一台服务器发送 ajax

随机推荐

  • 在 C# 中解析 MS Word 生成的 XML 文件

    所以我有一个客户 这只能来自政府 他有一堆 MS Word 文档 他们想要输入数据库 并且缺乏手动输入 我觉得将它们转换为 XML 并使用实用程序解析它们会是最好的行动方案 我有一个实用程序可以使用 stackoverflow 上找到的代码
  • jquery 中完整日历的弹出窗口

    我需要在 jquery 完整日历中创建事件时显示一个弹出窗口 如 google 日历中的气球弹出窗口 显示为气球并处理点击事件的弹出窗口有什么最好的插件 我用它来从弹出窗口创建 编辑 删除事件 我用过QTip与 fullCalendar 一
  • Rails 3 + Daemons gem:查询模型时出现异常

    作为我的 Rails 项目的一部分 我们将使用守护进程作为消息队列侦听器来执行来自 Rails RESTful Web 服务前端的命令 为了便于原型设计 我们使用 Daemons gem 创建一个非常简单的守护进程 现在 这非常简单 这是代
  • 如何判断一个多边形是否在另一个多边形内部?

    我有一个简单的例子 SVG源 看起来像你可以在下面看到的 这path带有 ID rect2816 中描述的d属性 m 140 53571 188 625 0 148 1875 273 9375 0 0 148 1875 273 9375 0
  • ReactJS如何更新状态

    constructor super this state address street null city null postalCode null postalCodeChange e this setState address post
  • 如果没有进行替换,Python 字符串将在文件中替换,而不触及文件

    如果没有进行字符串替换 Python 的 string replace 返回什么 即使没有进行任何更改 Python 的 file open f w 是否始终会触及文件 使用 Python 我尝试将一组文件中出现的 oldtext 替换为
  • 检测 matplotlib 刻度标签何时重叠

    我有一个由 pandas 生成的 matplotlib 条形图 如下所示 index Label 1 Label 2 Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet consect
  • 在图像完全加载之前使用 Javascript 获取图像尺寸

    我读过有关图像完全加载后获取图像尺寸的各种方法 但是一旦开始加载就可以获取任何图像的尺寸吗 我还没有通过搜索找到太多相关信息 这让我相信这是不可能的 但事实是浏览器 在我的例子中是 Firefox 显示了我在标题中的新选项卡中打开的任何图像
  • 通过 docker-compose 运行时,Flask CLI 抛出“OSError: [Errno 8] Exec format error”

    我正在运行一个 Flask 应用程序自定义脚本 无论如何 或者尝试这样做 我使用的是 Windows 10 应用程序应该使用以下命令在 Linux Docker 容器中运行 docker compose up api Docker comp
  • WebForms 自定义/动态路由

    我在用着菲尔 哈克的WebForms 的 URL 路由 我想定义一个 动态 的路由 假设我有这条路线 any aspx 转到 gt PageProcessor aspx 这会将任何非物理页面的请求发送到 PageProcessor 页面 这
  • 如何在Matlab中使用for循环处理大视频并且没有内存错误

    我是 Matlab 处理的新手 我想在 for 循环 或没有它 中读取和处理一个大视频 超过 200k 帧 我特别想 使用VideoReader阅读视频 将视频细分为 n 个纪元 每个纪元 1000 帧 处理 1000 帧的每个 epoch
  • Git - 在线存储库中有未跟踪的文件[重复]

    这个问题在这里已经有答案了 我正在使用 git bitbucket 来控制我的 Linux 配置文件 所有文件都在目录中 cfg 然后我另外还有一些本地配置文件 cfg local 这些应该因机器而异 我想在我的在线存储库中保留本地文件的副
  • Java - for循环终止表达式之间的区别

    我只是好奇 这两个循环实现之间的速度和性能是否有差异 假使 假设size 方法返回处理一组元素的数组 集合或对象的长度 实际上它来自XOM api 实施1 int size someArray size for int i 0 i lt s
  • 如何在 OPENROWSET(BULK...) 中动态指定文件的路径?

    我想将图像插入图像字段 最好使用接受图像路径的存储过程 经过一番折腾后我想出了这个 functional DECLARE parameters nvarchar max DECLARE sql string nvarchar max N U
  • 如何从 ILNumerics 曲面图上鼠标的单击位置找到曲面的 3D 坐标?

    目前 我们的系统使用 ILNumerics 3D 绘图立方体类和 ILNumerics 曲面组件来显示 3D 网格曲面 我们系统的目标是能够通过鼠标单击绘图来询问表面上的各个点 我们在绘图上设置了 MouseClick 事件 问题是我不确定
  • 如何从 R 中的 nls 获取绘图?

    在 R 中 我使用 nls 进行非线性最小二乘拟合 那么如何使用拟合提供的系数值绘制模型函数呢 是的 这是一个very来自 R 相关新手的天真问题 使用第一个例子 nls按照我逐行指出的示例 可以实现以下目标 This is just ou
  • 在 Objective-C 中检查空字符串的正确方法是什么?

    我在我的 iPhone 应用程序中使用了这个 if title nil do something 但它引发了一些异常 并且控制台显示标题为 null 所以我现在用这个 if title nil title isKindOfClass NSN
  • 如何在 Pandas 数据框中展开列

    我有以下熊猫数据框 import pandas as pd import numpy as np df pd DataFrame fc 100 100 112 1 3 14 125 sample id S1 S1 S1 S2 S2 S2 g
  • VC++ 增量链接器错误 LNK1000

    免责声明 我是一名 C 人员 几乎没有 VS C MFC 经验 我正在尝试在我的机器上构建一些混合 C Net 的项目 当在我的机器上通过命令行编译 C 项目时 我收到此错误 链接 致命错误 LNK1000 IMAGE BuildImage
  • 等待谷歌服务器端函数解析的最简单方法

    我需要客户端代码等待被调用的服务器端 google script run 函数完成 然后再运行更多代码 The withSuccessHandler successFunc 不会导致服务器调用之后的代码行等待 我做了什么 async fun