thelonglqd
thelonglqd

Reputation: 1862

lb-ng loopback command returns "Cannot read property 'apply' of undefined" from async module

I tried to run this CoffeeShop example of loopback:

http://loopback.io/doc/en/lb2/Create-AngularJS-client.html

It seemed fine till I got that error when integrating with AngularJS

When using below command:

lb-ng server/server.js client/js/services/lb-services.js

I got that error stack:

Loading LoopBack app "/home/dqlgnoleht/Working/Projects/loopback-getting-started/server/server.js"
/home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:1340
        return fn.apply(null, args.concat(callArgs));
                 ^

TypeError: Cannot read property 'apply' of undefined
    at /home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:1340:22
    at apply (/home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:40:29)
    at /home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:76:16
    at /home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:3828:13
    at replenish (/home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:1018:21)
    at /home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:1022:13
    at eachOfLimit (/home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:1049:26)
    at /home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:1054:20
    at eachOf (/home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:1127:9)
    at _parallel (/home/dqlgnoleht/Working/Projects/loopback-getting-started/node_modules/async/dist/async.js:3827:9)

How to run it right ? Or I just missed some configuration for that. Please help!

Many thanks in advance for any help!

Upvotes: 1

Views: 1178

Answers (1)

yury.hrynko
yury.hrynko

Reputation: 440

You should return a function, which return a async function. It might be something like this:

models/candidate.js

module.exports = function (Candidate) {

  Candidate.getRawCV = getRawCV(Candidate);

  function getRawCV (Candidate) {
    return async function (next) {
      ...async code...
    }
  }

}

Upvotes: 1

Related Questions