Javascript 乔伊承诺会有错误

Javascript 乔伊承诺会有错误,javascript,es6-promise,joi,Javascript,Es6 Promise,Joi,} 我确定err为null:D我做错了什么?我试着用这个和bluebird,但什么都没用:/你没有在任何地方声明err,所以它是未定义的(并在严格模式下抛出)。您可能想在回调中使用参数 此外,你不应该用错误来解决你的承诺,当有错误时,你应该拒绝它(否则就要履行它)。所以使用 您没有在任何地方声明err,因此它是未定义的(并在严格模式下抛出)。您可能想在回调中使用参数?您不应该解决您的承诺中的错误,当有错误时,您应该拒绝它(否则就执行)。我需要检查错误(来自joi.validate的错误)是否为

}


我确定err为null:D我做错了什么?我试着用这个和bluebird,但什么都没用:/

你没有在任何地方声明
err
,所以它是
未定义的
(并在严格模式下抛出)。您可能想在回调中使用参数

此外,你不应该用错误来解决你的承诺,当有错误时,你应该拒绝它(否则就要履行它)。所以使用


您没有在任何地方声明
err
,因此它是
未定义的
(并在严格模式下抛出)。您可能想在回调中使用参数?您不应该
解决
您的承诺中的错误,当有错误时,您应该
拒绝它(否则就执行)。我需要检查错误(来自joi.validate的错误)是否为空../然后我将检查验证是否已完成且没有任何错误或有错误(当我在“RegisterSchema,function(err)”中声明err时),什么也没有发生“err from joi.validate”是什么意思?检查在哪里?
              registerController.validate(request.payload).then((err) => {
                if(err === null) {
                    reply(true);
                }
            }); 
          validate: function (data) {
            return new Promise ((resolve) => {
                Joi.validate({
                    username: data.username,
                    password: data.password,
                    email: data.email
                }, RegisterSchema,function () {
                    resolve(err);
                });

});
validate: function (data) {
    return new Promise((resolve, reject) => {
        Joi.validate(data, RegisterSchema, function(err) {
            if (err) reject(err);
            else resolve(true); // or a result if there is one?
        });
    });
}
registerController.validate(request.payload).then(reply, err => {
    replyError(…) // or something
});