首页 > 解决方案 > Promise 链参数未解析

问题描述

我需要将 mongo DB 客户端从一个承诺传递到另一个承诺。我发现了这个问题,但编译器仍然抱怨未解析的变量。我做错了什么?

通过 Promise 链传递变量

mongo.connectToDatabase()
    .then(dbClient => {
        return findUser(dbClient, token);
    })
    .then((user, err) => {
        return verifyUser(dbClient, user, err); // dbClient is unkwnown
    });

function verifyUser(dbClient, user, err) {
    if (err) {
        return api.sendInternalError(callback, api.createError('failed to verify new user', "sign-up.something-went-wrong"));
    }
    if (!!user.auth.verified) {
        return api.sendErrorForbidden(callback, api.createError('user has already been verified', "sign-up.already-verified"));
    }

    let query = { $set: { }, $unset: { } };
    query.$set['auth.verified'] = true;
    query.$unset['auth.verifyToken'] = '';
    let result = dbClient.db().collection("users").updateOne({_id: user._id}, query);
}

标签: javascriptecmascript-6

解决方案


推荐阅读