小编JSh*_*ami的帖子

async函数+ await + setTimeout的组合

我正在尝试使用新的异步功能,我希望解决我的问题将来会帮助其他人.这是我正在运行的代码:

  async function asyncGenerator() {
    // other code
    while (goOn) {
      // other code
      var fileList = await listFiles(nextPageToken);
      var parents = await requestParents(fileList);
      // other code
    }
    // other code
  }

  function listFiles(token) {
    return gapi.client.drive.files.list({
      'maxResults': sizeResults,
      'pageToken': token,
      'q': query
    });
  }
Run Code Online (Sandbox Code Playgroud)

问题是,我的while循环运行得太快,并且脚本每秒向google API发送太多请求.因此,我想建立一个延迟请求的睡眠功能.因此我也可以使用此函数来延迟其他请求.如果有其他方式延迟请求,请告诉我.

无论如何,这是我的新代码不起作用.请求的响应返回到setTimeout中的匿名异步函数,但我只是不知道如何将响应返回给sleep函数resp.到最初的asyncGenerator函数.

  async function asyncGenerator() {
    // other code
    while (goOn) {
      // other code
      var fileList = await sleep(listFiles, nextPageToken);
      var parents = await requestParents(fileList);
      // other code
    }
    // other code
  } …
Run Code Online (Sandbox Code Playgroud)

javascript settimeout async-await ecmascript-2017

219
推荐指数
10
解决办法
17万
查看次数

通过嵌入式 webview 进行 Google OAuth 2.0 客户端 ID 授权

设置:

情况:

我收到了一封来自 Google 的电子邮件,指出我的 Web 应用程序客户端 ID 正在嵌入的 Web 视图中接收 OAuth 请求,我需要对这些 Web 视图进行一些更改以避免中间人攻击。这是一封类似的电子邮件:https ://groups.google.com/g/omegaup-soporte/c/xrspGg8T94o

此电子邮件的主题是:“[建议采取行动] 采取行动继续使用 Google 的 OAuth 授权端点”,第一个声明是“我们检测到嵌入式 Web 视图中的一个或多个 OAuth 客户端 ID 向我们的 OAuth 2.0 授权端点发出请求”过去 30 天内的情况。”

问题:

如上所述,我的应用程序是一个 Web 应用程序,怎么可能收到来自嵌入式 Web 视图的 OAuth 请求?

android webview google-oauth google-cloud-platform google-cloud-logging

11
推荐指数
1
解决办法
2824
查看次数

JavaScript组成函数

我正在读一本包含以下示例的书:

var composition1 = function(f, g) {
  return function(x) {
    return f(g(x));
  }
};
Run Code Online (Sandbox Code Playgroud)

然后作者写道:"......组合的天真实现,因为它不考虑执行上下文......"

所以首选的功能是:

var composition2 = function(f, g) {
  return function() {
    return f.call(this, g.apply(this, arguments));
  }
}; 
Run Code Online (Sandbox Code Playgroud)

接下来是一个完整的例子:

var composition2 = function composition2(f, g) {
    return function() {
        return f.call(this, g.apply(this, arguments));
    }
};

var addFour = function addFour(x) {
    return x + 4;
};

var timesSeven = function timesSeven(x) {
    return x * 7;
};

var addFourtimesSeven2 = composition2(timesSeven, addFour);
var result2 = addFourtimesSeven2(2);
console.log(result2); …
Run Code Online (Sandbox Code Playgroud)

javascript function-composition

6
推荐指数
1
解决办法
1940
查看次数