Comments (8)
@yupnano 可不可以解答下, 后面会基于星云做项目,这个订阅事件的功能还是很关键的,如果这个功能有问题,那可能会转向尝试其他公链,还请帮忙解答下呀。
from neb.js.
测试了一下,确实是subscribe来订阅, 后面调用transfer方法的时候收到了通知。 但是还有一个疑问,当有一段时间没有收到通知的时候就报
Unexpected token < in JSON at position 0
这个错误。
我的理解是这个应该会保持一个长连接,每过一段时间就会返回一个数据包。但是没有数据的时候返回了空,导致解析异常?异常之后这个长连接感觉就结束了, 问题来了,应该如果保持这个长连接呢?
from neb.js.
你好,neb.js的 subscribe 需要指定一个函数来接收返回event事件,比如:
neb.api.subscribe(["chain.contract.TestContract"],onDownloadProgress )
var onDownloadProgress = function(event){
console.log(event);
}
from neb.js.
@yupnano 使用你说的方式指定了一个onDownloadProgeress 方法.
neb.api.subscribe({"topics": ["chain.contract.TestToken"]}, onDownloadProgress ).then(function(eventData) {
logger.info('event data:' + JSON.stringify(eventData));
}).catch(function (e) {
logger.error("error:" + e)
});
function onDownloadProgress(event) {
logger.warn('subscribe event:' + event);
}
会有这么一个情况,如果启动这个订阅后一段时间时间没有订阅数据返回的话,就会报下面的错:
一旦报错了,后面感觉订阅就失败了,后面即使有调用transfer方法也不会收到订阅信息了。
如果启动订阅后,马上调用了transfer方法,是可以收到订阅信息。但是有时候又收不到,感觉很不稳定,同时收到这个信息的时间会比交易成功迟比较久的时间,给人的感觉就是通知不及时。不知道这是不是在测试环境的原因?
对于这种订阅,有没有一种稳定的方法可以获取到订阅信息的?
from neb.js.
直接连接测试网或主网请求subscribe的话,可能会由于网络问题丢失event,甚至连接失败。
建议运行本地节点,然后与主网同步,然后向本地节点请求subscribe,这样应该会稳定一些。
from neb.js.
是不是意味着即使是运行了本地节点,也有可能会丢失event? 所以又提供了一个通过txhash来获取event的接口,这样即使subscribe没有获取到event,也可以通过txhash来查询event数据?
from neb.js.
event subscribe 请问有进展吗?
from neb.js.
相关讨论:
nebulasio/go-nebulas#61
(无结论,仅供参考)
相关文档:
https://github.com/nebulasio/wiki/blob/master/rpc.md#subscribe
from neb.js.
Related Issues (20)
- numeric overflow HOT 1
- receiptTransaction HOT 1
- Accurate ErrorType or ErrorCode need
- mock javascript contract can't return function result HOT 3
- Is there a chance we can geo-locate the transaction? HOT 4
- 存储区变量赋值操作生效时机及是否是原子操作的问题? HOT 8
- where can find .d.ts HOT 8
- [bug]After upgrading to 0.5.1, NVM is exported by default, but native.js is imported by default in NVM, which causes the standard Date and Math objects to be replaced, and reports that 'Blockchain.block' is not defined. HOT 2
- ruby sdk 有吗? HOT 2
- 为什么不能像nebPay一样,编译完同时生成一个nebulas.min.js压缩文件 HOT 2
- neb.js 在safari打开抛异常 HOT 2
- "claim tokens" in example.html 404 HOT 8
- Provide nebulas.min.js? (current uncompressed nebulas.js is 1.2M) HOT 1
- Difference between neb.js and nebulas.js HOT 4
- General Question: How to build Nebulas SDK for different language? HOT 4
- How to generate new account from a given private key? HOT 2
- node/8.11.1 可以 gulp,但是 node/10.11.0 node/11.1.0 不行
- rpc请求没有添加超时控制
- Error using chrome with third-party cookies blocked
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neb.js.