从一个承诺到另一个承诺获得价值

时间:2017-09-29 17:43:10

标签: javascript node.js promise

我是JavaScript Promise的新手。以下是代码段:

 router.post('/hubpost', (req, res) => {
  hubspot.contacts
    .createOrUpdate(req.body.email, {
      properties: [
        {
          property: 'email',
          value: req.body.email,
        },
      ],
    })
    .then((results1) => {
      // Output of results1 is {vid: 121, isNew: true}  
      res.send(results1);
    })
    .catch((err) => {
      res.send(err);
    });
});

// IN THIS Call, I need to access results. 
router.post('/hubpost_deal', (req, res) => {
  hubspot.deals
    .create({
       associations: {
        associatedVids: [results1.vid],
       },

      properties: [
        {
          name: 'dealname',
          value: `${req.body.firstname} ${req.body.lastname}`,
        },
        {
          name: 'pipeline',
          value: 'xyzzy',
        },
      ],
    })
    .then((results2) => {
      res.send(results2);
    })
    .catch((err) => {
      res.send(err);
    });
});

我想要实现的是,从第一次通话中获得响应,并在第二次通话中使用它。换句话说,我想使用第一次调用的结果并在第二次调用中使用它。

我用Google搜索并找到了一些解决方案,使用数据库从第一次调用中存储results,然后在第二次调用中检索。或者存储在文件系统上。这是唯一的解决方案还是在那里我可以从第一次呼叫访问results并在第二次使用。任何建议和帮助将不胜感激。

0 个答案:

没有答案