سلام وقت بخیر.
من مشکل promise رو این شکلی حل کردم که یه متغیر بالاتر از promise با یه مقدار اولیه تعریف کردم و بعد داخل then مقدارش رو عوض کردم.
این روش میتونه مشکل ساز بشه یا این هم روش درستیه؟
count(): number { let count = 0; redisConnection.get( this.redisKey ) .then( result => { const items = JSON.parse( result as string ); count = items.length; } ) .catch( ( error ) => { // tslint:disable-next-line:no-console console.log( `redis.get failed in method count: ${ error.message }` ); } ); return count; } has( product: IProduct ): boolean { let hasProduct = false; redisConnection.get( this.redisKey ) .then( ( result ) => { const items = JSON.parse( result as string ); hasProduct = items.includes( product ); } ) .catch( ( error ) => { // tslint:disable-next-line:no-console console.log( `redis.get failed in method has: ${ error.message }` ); } ); return hasProduct; }