【问题标题】:How can I get access to the data returned from this promise? [duplicate]我怎样才能访问从这个承诺返回的数据? [复制]
【发布时间】:2019-06-22 05:54:22
【问题描述】:

我正在使用 Google Cloud api 将公司添加到 Google Talent Solution。 他们通过承诺返回数据。解决承诺后,我需要返回 response.name 值。但是从 .then() 方法返回的值是:

承诺 { response.name }

如何从 promise 中获取 response.name 值,以便实际使用它。

createGoogleCompany: function(projectId, tenantId, displayName, externalId) {

  const client = new talent.CompanyServiceClient();
  // const projectId = 'Your Google Cloud Project ID';
  // const tenantId = 'Your Tenant ID (using tenancy is optional)';
  // const displayName = 'My Company Name';
  // const externalId = 'Identifier of this company in my system';
  const formattedParent = client.tenantPath(projectId, tenantId);
  const company = {
    displayName: displayName,
    externalId: externalId,
  };
  const request = {
    parent: formattedParent,
    company: company,
  };
  return promise = client.createCompany(request)
    .then(responses => {
      const response = responses[0];
      console.log(`Created Company`);
      console.log(`Name: ${response.name}`);
      console.log(`Display Name: ${response.displayName}`);
      console.log(`External ID: ${response.externalId}`);
      return response.name
    })
    .catch(err => {
      console.error(err);
    });
},

var nameValue = createGoogleCompany(data,data2,data3,data4)createGoogleCompany(data).then((nameValue) => { console.log("名称值", nameValue); });

^^ 这仍然返回一个未决的承诺对象。

【问题讨论】:

    标签: javascript node.js meteor


    【解决方案1】:

    你从你的函数返回一个承诺,所以你需要在外面的承诺的 then 子句中得到它。

    createGoogleCompany(data).then((nameValue) => {
        console.log("Name Value", nameValue);
    });
    

    如果您可以使用异步函数,可以编写这样的函数

    const someFunction = async () => {
       const name = await createGoogleCompany(data);
    }
    

    异步函数只是底层的承诺,但它们使事情看起来更加同步

    【讨论】:

    • name = createGoogleCompany(data).then((nameValue) => { console.log("Name Value", nameValue); });控制台.log(Id);这个 ^^ 返回 'Promise { }' 然后我 console.log 稍后当我知道它完成并返回为 'Promise {}' .... 这是你的意思还是我的意思我还是误会了
    猜你喜欢
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 2019-06-19
    • 2018-12-20
    • 2021-04-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    相关资源
    最近更新 更多