我是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
并在第二次使用。任何建议和帮助将不胜感激。