2017-03-20 1 views
-2

の「と呼ぶ」、私はいくつかのデータベース操作を行う三つの異なる機能&を呼び出しています私は上記のエラーにブルーバードNPMの例外TypeError:私は青い鳥NPMを使用していますプロパティを読み取ることができませんヌル

を取得していますが、私はこのエラーを取得しています。

私は2つの関数を試してみましたが機能していますが、3つの関数でエラーが送出されています。TypeError:nullの 'call'プロパティを読み取れません。

もしあなたがbluebird/js/release/using.jsに行き、39行目をコメントしたら、

私がこの行にコメントすると、この問題は発生していません。&すべて正常に動作しています。

あなたはより多くの情報が必要な場合はここでClick Here

This is main.js 

var myModule = require('../lib/myModule'); 
var sync = require('deasync'); 

var id = 90; 
var moduleObj = new moduleEntity(id); 
console.log(moduleObj); 

var id = 90; 
var moduleObj = new moduleEntity(id); 
console.log(moduleObj); 

var id = 90; 
var moduleObj = new moduleEntity(id); 
console.log(moduleObj); 

In MyModule.js 

var deasync = require('deasync'); 
var dbEntity = require('../db/dbEntity'); 

module.exports = function (id) { 
var outputEntity; 
dbEntity(id, function(data){ 
outputEntity = data 
}); 
while(outputEntity === undefined) { deasync.runLoopOnce();}; 
return outputEntity; 

}; 

In dbEntery.js 

var Promise = require("bluebird"); 
var getConnection = require('./dbcon'); 

module.exports = function (id,cb) { 
var sql_getRecords = SELECT * from tanle_name; 

Promise.using(getConnection, function (conn) { 
    return conn.query(sql_getRecords).then(function(data){ 
     cb(data[0]); 
    }) 
}); 
}; 

はエラースタックトレース

TypeError: Cannot read property 'call' of null 
at FunctionDisposer.doDispose (/home/user/Projects/project_name/node_modules/bluebird/js/release/using.js:98:18) 
at FunctionDisposer.Disposer.tryDispose (/home/user/Projects/project_name/node_modules/bluebird/js/release/using.js:78:20) 
at iterator (/home/user/Projects/project_name/node_modules/bluebird/js/release/using.js:36:53) 
at dispose (/home/user/Projects/project_name/node_modules/bluebird/js/release/using.js:48:9) 
at /home/user/Projects/project_name/node_modules/bluebird/js/release/using.js:194:20 
at PassThroughHandlerContext.finallyHandler (/home/user/Projects/project_name/node_modules/bluebird/js/release/finally.js:55:23) 
at PassThroughHandlerContext.tryCatcher (/home/user/Projects/project_name/node_modules/bluebird/js/release/util.js:16:23) 
at Promise._settlePromiseFromHandler (/home/user/Projects/project_name/node_modules/bluebird/js/release/promise.js:510:31) 
at Promise._settlePromise (/home/user/Projects/project_name/node_modules/bluebird/js/release/promise.js:567:18) 
at Promise._settlePromise0 (/home/user/Projects/project_name/node_modules/bluebird/js/release/promise.js:612:10) 
at Promise._settlePromises (/home/user/Projects/project_name/node_modules/bluebird/js/release/promise.js:687:18) 
at Async._drainQueue (/home/user/Projects/project_name/node_modules/bluebird/js/release/async.js:133:16) 
at Async._drainQueues (/home/user/Projects/project_name/node_modules/bluebird/js/release/async.js:143:10) 
at Immediate.Async.drainQueues (/home/user/Projects/project_name/node_modules/bluebird/js/release/async.js:17:14) 
at runCallback (timers.js:651:20) 
at tryOnImmediate (timers.js:624:5) 

ブルーバードバージョンで下さい - 3.5

ノードバージョン - v7.6.0

+0

ここに該当するコードをテキストとして直接掲載してください。 – Carcigenicate

+0

@ Carcigenicate、再生のおかげでGithub Issue Linkをクリックしてください。私の質問には –

+0

と書いてありますので、ここに関連コードを記入してください。コードにリンクしないでください。リンクは腐っているので、人々が関連するビットを見つけるためにコードを掘り下げることを期待するのは容認できません。 – Carcigenicate

答えて

1

コードはありませんでした。このようなエラーが発生したときに覚えておかなければならないことがいくつかあります。

:参照 -

TypeError: Cannot read property 'call' of nullは(あなたは一例であり、完全なエラー・スタックトレースを提供しなかったので、あなたにどのコードを見分けることも不可能)、いくつかのコードがFunction.prototype.call()を使用して、いくつかのthisオブジェクトと引数に、いくつかの機能をバインドしようとしていることを意味し

ではなく、それはnullを得た関数の。

これで、スタックトレースに従って、関数を呼び出そうとしているコードと問題を解決するためのヌルの場所を調べる必要があります。

nullであり、undefinedではないことに注意してください。したがって、関数呼び出しの欠落した引数またはオブジェクトの不足しているプロパティではなく、明示的に指定する必要があります。これは、問題をはるかに簡単に診断できる重要なヒントです。

+0

私はコード例を挙げました。 –

関連する問題