函数在访问节点/表达式中的数据库之前总是返回false

时间:2018-11-06 14:15:17

标签: javascript node.js express asynchronous

我正在用node / express制作RESTful api。而且我在使用javascript的异步部分时遇到了麻烦

例如,我有这个:

function isWorkMine(workdata) {
    var result = false;
    Work.otherQueryToTheDB(workdata,(err,data) => {
        if (data.length > 0) {
            result = true;
        }
    });
    return result;
};

router.get("/works", (req, res) => {
    const workdata = {...}

    var result = isWorkMine(workdata);
    if (result) {
        Work.queryToTheDataBase(state,(err,data) => {
            if (data.length == 0) {
                return res.status(404);
            }
            res.json(data);
        }); 
    } else {
       console.log("Do Nothing!");
    }
});

此问题是结果始终为假。我尝试过

async function isWorkMine(workdata) {
        var result = false;
        await Work.otherQueryToTheDB(workdata,(err,data) => {
            if (data.length > 0) {
                result = true;
            }
        });
        return result;
    };

但是没有用。我在做什么错了?

0 个答案:

没有答案