Невозможно преобразовать асинхронный метод в синхронный. Вы можете "смоделировать" это ваниль с помощью async/await
и обещаний без какого-либо внешнего пакета.
function clientLogin() {
return new Promise((accept, reject) => {
client.auth({uuid:cookies.uuid}, (err, r){
if (err) {
reject(err);
} else {
accept(r);
}
});
});
}
// This code needs to run inside and async function
try {
let r = await clientLogin();
console.log(r);
} catch (e) {
console.error(e);
}
clientLogin()
возвращает Promise
, который будет разрешен позже в будущем (АКА асинхронный). С помощью ключевого слова await
вы можете указать JavaScript дождаться разрешения Promise
перед продолжением выполнения, так что это симулированный синхронный код, хотя на самом деле он не синхронизирован.
Если вы не используется для async/await
, объяснять немного долго, поэтому лучше поищите учебник.