код функции qw менять нельзя можно менять только колбек
var qw = (func)=> {
var val = 123;
if (func(val) === false ) {
console.log('good');
}
else {
console.log('bad');
}
}
qw((val)=> {
// типа бекенд который сравниват значение val и val2
setTimeout(()=> {
var val2 = 123;
if (val == val2) {
var result = 'результат сравнения';
}
},500)
return false // как сюда вернуть результат сравнения
})
Ближайшее, что можно предложить - использовать механизм async/await.
Он позволяет писать асинхронный код, как синхронный(за исключением маркеров async/await)
const qwLikeSync = async function (f) {
// Мы всё ещё пишем return, но возврат произойдёт в виде резольва промиса
return await f(123) ? 'bad' : 'good';
};
const qwAsync = f => f(123).then(res => res ? 'bad' : 'good');
const func = num => val => new Promise(ok => setTimeout(() => ok(val === num)));
const badFunc = func(123);
const goodFunc = func(321);
qwAsync(badFunc)
.then(res => console.log('abad', res));
qwAsync(goodFunc)
.then(res => console.log('agood', res));
qwLikeSync(badFunc)
.then(res => console.log('sbad', res));
qwLikeSync(goodFunc)
.then(res => console.log('sgood', res));
// Аналогично можно завернуть и вызов такой функции
(async function() {
let res = await qwLikeSync(goodFunc);
console.log(res);
})()
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Надо сделать так, чтобы ячейки одного цвета не встречались вместе слева направо
При запуске React приложения через открытие indexhtml - белый экран
Я сделал форму отправки, но в ней есть две строки на jqueryНе могу переделать, помогите