gpt4 book ai didi

javascript - 在继续 Google Apps 脚本之前等待异步请求返回

转载 作者:行者123 更新时间:2023-11-29 17:50:24 26 4
gpt4 key购买 nike

我目前正在生成的 Google Apps 脚本中的一些代码需要完成一个对象,其中一个属性由异步请求的结果设置。这个对象,特别是这个属性,稍后会被使用。但是,由于在需要该属性的函数运行时请求尚未返回,因此它们未正确评估。我的代码如下:

function Thing(val) {
var self = this

var createSuccess = function(data) {
self.foo = data;
}

var init = function(val) {
google.script.run.withSuccessHandler(createSuccess).serverFunc(val);
};

init(val);
}

function objStuff() {
var foobar = new Thing('bar');
// Do stuff with foobar.foo
}

objStuff();

目前使用 foobar.foo 的东西不能正常工作,因为脚本在继续之前没有等待脚本的返回值。

在继续我的脚本的其余部分之前,有没有一种方法可以等待异步请求对 foo 属性求值?

最佳答案

您可以将回调作为参数添加到构造函数:

function Thing(val, cb) {
var self = this

var createSuccess = function(data) {
self.foo = data;
cb(); // this gets called when data is ready
}

var init = function(val) {
google.script.run.withSuccessHandler(createSuccess).serverFunc(val);
};

init(val);
}

function objStuff() {
var foobar = new Thing('bar', function() {
// Do stuff with foobar.foo
});
}

objStuff();

关于javascript - 在继续 Google Apps 脚本之前等待异步请求返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44359158/

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