Итак, я недавно опубликовал этот вопрос , и undefined предложил мне использовать Node 10 и fs со встроенными обещаниями. Теперь я хотел пойти по этому пути, но я действительно не понимал обещаний. Я думаю, что это, наконец, щелкнуло в моей голове, но я все еще не уверен, правильно ли я делаю это. Я помню, как пытался понять обещания, прежде чем использовать их с mongojs, только чтобы узнать, что обещания не работают с ним или что-то в этом роде. Я не совсем понимаю? Есть ли только определенные типы функций, которые я могу поместить в обещания, или как это работает. Тем не менее, вот код на данный момент, на Узле 8. Я не знаю, будет ли это работать, если fs, как mongojs, не работает с обещаниями или чем-то еще ... o.O
socket.on('play', (data) => {
const iPromise = new Promise((resolve, reject) => {
fs.readFile(`db/${data.username}/account.json`, (error, result) => {
if(error) {
reject(error);
} else {
resolve(result);
}
});
});
iPromise.then((result) => {
const rawResult = JSON.parse(result);
if(data.password === rawResult.password) {
socket.emit('playResponse', {
success: true,
msg: 'Login Succesfull'
});
} else {
socket.emit('playResponse', {
success: false,
msg: 'Wrong Password!'
});
}
}).catch((error) => {
if(error.code === 'ENOENT') {
socket.emit('playResponse', {
success: false,
msg: 'Account not found'
});
}
});
});
Дело в том, что я просто хочу понять, как сейчас работают обещания. Я не понимаю, почему я все еще застрял с обратными вызовами, это было давно, и иногда это все еще очень сбивает с толку: \