gpt4 book ai didi

javascript - 事件发射器 JavaScript

转载 作者:行者123 更新时间:2023-11-28 04:03:34 25 4
gpt4 key购买 nike

嗨,我是 javascript 的新手。我正在 javascript 中的函数上实现发射器,但在使用 jasmine 框架测试它时遇到了麻烦。下面是发射器的功能和测试该功能的代码。

//main.js

Emitter.prototype.on = function (event, listener) 
{
if (typeof this.events[event] !== 'object')
{
this.events[event] = [];
}

this.events[event].push(listener);
};

//test.js

describe('#on', () => 
{
it('should subscribe to an event name and be called when
triggered', () =>
{

Emitter.on(EVENT_NAME_ONE, spyFunction);
//Emitter.trigger(EVENT_NAME_ONE);

expect(spyFunction.calls.count()).toBe(1);
});

上述测试失败。我不知道为什么。有人可以帮我解决这个问题吗?谢谢。

最佳答案

错误表明 Emitter.on 未定义。请参阅this thread .

on 是在 Emitter 实例上定义的。

class Emitter {
constructor() {
console.log('created Emitter!')
}
on(event, callback) {
console.log('on')
}
}

a = new Emitter()
=> created Emitter!
a.on()
=> on

关于javascript - 事件发射器 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46886330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com