{{ thread.title }}

{{ locked_reason }} جاواسکریپت

@mehdints {{ experience | farsi }} تجربه آخرین فعالیت ٣ ماه پیش

من با nodejs یک کوئری نوشتم که چک کنم که آیا توکن درون دیتابیس وجود داره یا خیر اگر وجود داشت مقدار true رو برگردونه در غیر اینصورت مقدار false را بر گرداند . مشکل اینجاست که nodejs بصورت async هست و نود صبر نمی کنه تا خروجی از دیتابیس بیرون بیاد و بعد مقدار رو return کنه یعنی قبل اینکه کوئری اجرا بشه نود return تابع رو اجرا میکنه چطوری میتونم کاری بکنم تا نود صبر بکنه تا کوئری کامل زده بشه و بعد مقداری رو return کنه؟

var checkToken = function(token) {
    var isTokenCorrect;    
    connection.query('SELECT * FROM `users` WHERE `api_token`=? AND `deleted_at` IS NULL', [token], function(error, results, fields){
            if(error) throw error;
            console.log(results.length);
            if(results.length == 0) {
                isTokenCorrect = false;
            }else {
                user_id = results[0].id;
                isTokenCorrect = true;
            }
        });
        return isTokenCorrect;
}
amir ویرایش شده توسط @amir