从NodeJS App中提供从远程源获取的数据

时间:2017-06-21 14:24:59

标签: node.js express salesforce

我刚开始使用NodeJS,并尝试使用jsforce(salesforce)来填充表单上的下拉列表。

我写了一个模块,需要jsforce,设置登录参数,然后连接。

``modules/sftools.js
const jsforce = require('jsforce')
const conn = new jsforce.Connection({
  loginUrl: process.env.SF_LOGINURL
})
conn.login(process.env.SF_USER, process.env.SF_PASS)

exports.metaDropDown = async (field) => 
  conn.sobject...describe..
  return arrayOfValues
}

我想让我的应用程序返回值,所以在index.js中我已经

``index.js
const sftools= require('../modules/sftools')
const roles = sftools.metaDropDown(process.env.SF_ROLES)

然后我使用一些中间件来设置req.roles = roles。

我认为问题在于我在建立连接之前请求角色,但我无法弄清楚流程。

我尝试在导出代码之前登录,但是我收到了无效的URL错误,可能是因为它还没有登录。 我试图将登录代码直接放入metaDropdown导出中,从而消除了错误,但仍然没有返回数据。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我认为您遇到的问题是登录功能需要回调作为第三个参数。

conn.login(process.env.SF_USER, process.env.SF_PASS, function() {
    // do your role logic here.
})

希望这有帮助。