Я думаю, что вы неправильно прочитали документацию, вы можете связать метод .on
с объектом Web3PromiEvent
, но не с объектом Promise
, возвращаемым .then
, поэтому вы можете связать .on
или вы связываете .then
myFunc()
.then(console.log);
или
myFunc()
.on('done', console.log);
Как вы видите на изображении ниже, Promise
, возвращаемый .then
, не имеет .onПрилагается ли метод Promise
, возвращаемый Web3PromiEvent
.
![enter image description here](https://i.stack.imgur.com/qHUeA.png)
Это оригинальный пример в doc
// in node.js
var Web3PromiEvent = require('web3-core-promievent');
var myFunc = function(){
var promiEvent = Web3PromiEvent();
setTimeout(function() {
promiEvent.eventEmitter.emit('done', 'Hello!');
promiEvent.resolve('Hello!');
}, 10);
return promiEvent.eventEmitter;
};
// and run it
myFunc()
.then(console.log); //see the semicolon
.on('done', console.log); //see the semicolon