Node.js脚本未结束

时间:2019-01-20 08:57:00

标签: javascript es6-promise okta

使用https://developer.okta.com/okta-sdk-nodejs/jsdocs/上的client.getUser(:id|:login) nodejs示例,我可以成功获取用户详细信息,但是他的脚本并没有“结束”,只是返回用户后挂起信息。

const okta = require('@okta/okta-sdk-nodejs');

const client = new okta.Client({
  orgUrl: 'https://dev-1234.oktapreview.com/'
  token: 'xYzabc'    // Obtained from Developer Dashboard
});

client.getUser('foo@bar.com')
.then(user => {
  console.log(user);
});

我需要“终止”连接或诺言吗?

1 个答案:

答案 0 :(得分:1)

在此处检查问题:=)

https://github.com/okta/okta-sdk-nodejs/issues/86

肯定是在SDK本身中,而不是在您正在运行的脚本中。

看起来像问题在这里 https://github.com/okta/okta-sdk-nodejs/blob/master/src/memory-store.js#L22

下一个解决方法:

const okta = require('@okta/okta-sdk-nodejs');
const MemoryStore = require('@okta/okta-sdk-nodejs/src/memory-store');

const client = new okta.Client({
  cacheStore: new MemoryStore({
    expirationPoll:null
  }),
  orgUrl: 'https://dev-160519.oktapreview.com',
  token: '00s8yW7KiYpCOFRc8USWZWS4FgvQPSrnRli9QFFzZG',    // Obtained from Developer Dashboard,
});

client.getUser('foo@bar.com')
.then(user => {
  console.log(user);
}).catch(console.error);

按预期工作