node-quickbooks
node-quickbooks copied to clipboard
TypeError: Cannot convert undefined or null to object
I call this:
qbo.findAccounts('', function (_, accounts) {
accounts.QueryResponse.Account.forEach({ limit: 5, }, function (account) {
console.log(account.Name);
});
});
Then i get error:
TypeError: Cannot convert undefined or null to object
at Function.keys (<anonymous>)
at /home/user/Code/node-quickbooks/index.js:2498:27
at tryCatcher (/home/user/Code/node-quickbooks/node_modules/bluebird/js/main/util.js:24:31)
at Promise._settlePromiseFromHandler (/home/user/Code/node-quickbooks/node_modules/bluebird/js/main/promise.js:454:31)
at Promise._settlePromiseAt (/home/user/Code/node-quickbooks/node_modules/bluebird/js/main/promise.js:530:18)
at Promise._settlePromises (/home/user/Code/node-quickbooks/node_modules/bluebird/js/main/promise.js:646:14)
at Async._drainQueue (/home/user/Code/node-quickbooks/node_modules/bluebird/js/main/async.js:177:16)
at Async._drainQueues (/home/user/Code/node-quickbooks/node_modules/bluebird/js/main/async.js:187:10)
at Immediate.Async.drainQueues [as _onImmediate] (/home/user/Code/node-quickbooks/node_modules/bluebird/js/main/async.js:15:14)
I checking line node-quickbooks/index.js:2498
and i debug return data in callback and i saw Array with request results.
The cause of the problem:
- in
module.request
passing 3 arguments to callback - after
module.requestPromise = Promise.promisify(module.request)
- and after promise resolve we get array with
body
andreq
Promise.promisify
convert arguments to array if length > 2
.
This cause of error,