我刚开始使用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导出中,从而消除了错误,但仍然没有返回数据。
有什么建议吗?
答案 0 :(得分:1)
我认为您遇到的问题是登录功能需要回调作为第三个参数。
conn.login(process.env.SF_USER, process.env.SF_PASS, function() {
// do your role logic here.
})
希望这有帮助。