```javascript=
//Что выведется в консоль
let a = {
a: 1
}
let b = {
a: 1
}
let c = a
console.log(a === b)
console.log(a === c)
//Что выведется в консоли и почему?
let num = 10;
let name = "Addy Osmani";
let obj1 = {
value: "first value"
};
let obj2 = {
value: "second value"
};
let obj3 = obj2;
function change(num, name, obj1, obj2) {
num = num * 10;
name = "Paul Irish";
obj1 = obj2;
obj2.value = "new value";
}
change(num, name, obj1, obj2);
console.log(num);
console.log(name);
console.log(obj1.value);
console.log(obj2.value);
console.log(obj3.value);
//Написать функцию makeGood
//Чтобы можно было использовать результат как промис
const api={
baseUrl: "/usr/bin",
readFile: function (url, callback){
const content = "Text Hello!";
....
callback(err, content);
return;
}
}
api.readFile('/api/some.pdf', (err, content) => {
if (err) {
console.error(err);
return;
}
console.log(content);
});
const makeGood = (func) => {
}
const readFilePromise = makeGood(api.readFile);
const content1 = await readFilePromise('/api/some1.pdf');
//Примеры использования
try {
const content1 = await readFilePromise('/api/some1.pdf');
const content2 = await readFilePromise('/api/some2.pdf');
const content3 = await readFilePromise('/api/some3.pdf');
} catch(ex) {
//
}
api.readFilePromise('/usr/lib/123.txt')
.then(content=>console.log(content))
.catch(e=>console.error(e));
//Обработать массив урлов в 2 потока
//Одновременно можно делать только 2 запроса
const urls = ["/api/a", "/api/b", "/api/c", "/api/d", "/api/e", "/api/f"]
function processUrls(){
}
processUrls(urls);
//Нотифайки
const signalR = { on:Function };
const ModalComponent=()=> {
const signalR = useSignalR();
const handleSubmit = () => {
const {requestId} = axios.post('/api/get-report');
signalR.on('reportComplete', ({reportRequestId, result})=>{
if(requestId===reportRequestId)
notify.show(result)
});
}
<button />
//Типизация
const list = [{
amount: 100,
isOutgoing: true,
receiver: "Vasya"
},{
amount: 130,
isOutgoing: false,
receiver: "Katya"
}]