2016-02-25 164 views
0

我试图返回的希望,但是越来越undefined.Please发现代码承诺返回未定义

fnCompare: function (paramA, paramB){ 

    var compObj = new CompFn({ 
     //Initiate some Values here 
    }); 


    return compObj.doCheck().then(function(data){  
     return data; 

    });  
} 

调用功能如下 -

asyncFunc.fnCompare(paramOne,paramTwo).then(function(data){ 

    console.log("Found differences: " + data.desc); 
    assert.equal(data.code,expectedValue); 

}, function(err) { 
     throw err; 
}); 

收到错误 - 无法再未定义的调用。任何帮助都会有用。我试图用这里提供的解决方案来实现这个,但也许做错了什么。

+5

听起来像'doCheck()'没有返回任何东西(使得它的结果为'undefined')。你有'CompFn'的代码,特别是'doCheck'吗? – souldzin

回答

0

我的坏,得到了问题。 doCheck()函数期望回调,我的函数被设计为接受来自doCheck()的承诺。 Promise.denodify(this.doCheck)解决了这个问题。