为什么给全局变量赋值会导致错误而不是未赋错

时间:2018-11-14 20:51:31

标签: javascript angularjs node.js

我是Node.js的新手,正在尝试它。

由于一个承诺的值在全球范围内不可用,因此我正在尝试一种将值分配给可在链中任何位置访问的变量的方法。

我发现第一段代码总是以catch结尾,第二段正常,唯一的区别就是赋值。

有人可以通过正确的方式帮助我。

var test = (req,callBack)=>{
    var value;
    return querydb.checkstatus(req).then((result)=>{
        value = 1;
        return(result);
    }).then((result)=>{
        if(result!=null){
            callBack(null, value);
        }
    }).catch((errorMessage)=>{
        callBack({Msg:"From Catch"},null);
    })
};

var test = (req,callBack)=>{
    var value;
    querydb.checkstatus(req).then((result)=>{
        return(result);
    }).then((result)=>{
        if(result!=null){
            callBack(null, "from then");
        }
    }).catch((errorMessage)=>{
        callBack({Msg:"From Catch"},null);
    })
};

0 个答案:

没有答案