Urigo / meteor-rxjs

Exposing Mongo Cursor as RxJS Observable

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unexpected TypeError: Cannot read property 'apply' of undefined

bobd-biz opened this issue · comments

I'm getting an exception and don't understand why. The sample code is cut down from the original, but the line in question starts let subscription=. This code is within a method so only occurs on the server side.

The failing line within Meteor subscribe():
return Meteor.subscribe.apply(Meteor, [name].concat(args.concat([{...

Here's the exception and traceback:

Exception while invoking method 'someMethod' TypeError: Cannot read property 'apply' of undefined
at subscribe (c:\Build\myapp\node_modules\meteor-rxjs\dist\bundles\index.umd.js:609:36)
at Observable._subscribe (c:\Build\myapp\node_modules\meteor-rxjs\dist\bundles\index.umd.js:628:30)
at ZoneOperator.call (c:\Build\myapp\node_modules\meteor-rxjs\dist\bundles\index.umd.js:695:23)
at Observable.subscribe (c:\Build\myapp\node_modules\rxjs\Observable.js:42:22)

Here's my code within a Meteor method:

	let list = MyCollection.find(aselector);
    let subscription= MeteorObservable.subscribe("publishedList, selector).zone().subscribe( () => {
      
      list = MyCollection.find(selector);
      let myArray = list.fetch();
      let item: MyItem = myArray.length > 0? myArray[0]: null;
	});

As pointed out in another forum, the issue is that subscribes are not needed in methods. Correcting the code to

let item: MyItem = MyCollection.findOne(selector);

My misunderstanding.