1

我需要从 Google+ 获取电子邮件、ID、名字和姓氏,以便为用户创建帐户。为了做到这一点,我见过的所有例子都说要这样做:

    // Get the email
    gapi.client.load('oauth2', 'v2', function()
    {
        gapi.client.oauth2.userinfo.get().execute(function(resp) {
            console.log(resp.email);
        })
    });

    // Get the id, first name, and last name
    gapi.client.load('plus', 'v1', function()
    {
        gapi.client.plus.people.get( {'userId' : 'me'} ).execute(function(resp) {
            console.log(resp.id);
            console.log(resp.name.givenName);
            console.log(resp.name.familyName);
        })
    });

但是,这有一个问题,因为我希望能够将 resp.email、resp.id、resp.name.givenName、resp.name.familyName 存储在变量中,以便在这两个调用之后我可以使用该信息创建一个用户帐户。由于 execute() 是一个异步调用,我无法做到这一点(至少据我所知)。我认为最简单的解决方案是查看是否有某种方法可以一次获取我想要的所有内容(电子邮件、身份证、姓氏、名字),以便我可以在 execute() 函数中创建用户。我可以这样做吗?

4

1 回答 1

0

正如您所建议的,您可以从执行匿名函数中调用另一个函数来执行进一步的代码......或者如果您想稍微分开代码,将这些变量存储在全局 var 中并调用 yu app 代码函数,或者我可能会推荐使用 window.setTimeout(your_fn,1); 异步调用你的函数会给浏览器一些 ui 响应。有许多不同的编码方式。

另请注意,错误“未配置访问。

于 2014-02-19T06:35:23.487 回答