首页 > 解决方案 > 从 Node.js 订阅 SalesForce 主题时出错

问题描述

我正在尝试使用JSForce 文档中提供的代码从 Node.js 服务器订阅 SalesForce 主题:

conn.streaming.topic("InvoiceStatementUpdates").subscribe(function(message) {
  console.log('Event Type : ' + message.event.type);
  console.log('Event Created : ' + message.event.createdDate);
  console.log('Object Id : ' + message.sobject.Id);
});

但是,我收到一个错误location is not defined

[1552904103100] ERROR (13143 on myuser): location is not defined
    ReferenceError: location is not defined
        at Object.parse (/home/myuser/projects/my-project/node_modules/faye/src/util/uri.js:36:36)
        at klass.initialize (/home/myuser/projects/my-project/node_modules/faye/src/protocol/dispatcher.js:21:28)
        at klass (/home/myuser/projects/my-project/node_modules/faye/src/util/class.js:13:28)
        at Function.Dispatcher.create (/home/myuser/projects/my-project/node_modules/faye/src/protocol/dispatcher.js:179:10)
        at klass.initialize (/home/myuser/projects/my-project/node_modules/faye/src/protocol/client.js:44:35)
        at klass (/home/myuser/projects/my-project/node_modules/faye/src/util/class.js:13:28)
        at Streaming._createClient (/home/myuser/projects/my-project/node_modules/jsforce/lib/api/streaming.js:127:20)
        at Streaming._getFayeClient (/home/myuser/projects/my-project/node_modules/jsforce/lib/api/streaming.js:148:42)
        at Streaming.subscribe (/home/myuser/projects/my-project/node_modules/jsforce/lib/api/streaming.js:185:25)
        at Topic.subscribe (/home/myuser/projects/my-project/node_modules/jsforce/lib/api/streaming.js:41:26)

深入研究这个问题,我在 Github 中发现了一条评论,指出faye 是 JSForce 的直接依赖项,只能在浏览器应用程序中使用。然而,JSForce 预计可以在客户端和服务器端工作。

任何关于为什么会发生这种情况的想法都将不胜感激。谢谢!

标签: javascriptnode.jssalesforcepublish-subscribejsforce

解决方案


我终于解决了login()在尝试该streaming功能之前进行显式调用的问题。


推荐阅读