---
# System prepended metadata

title: Untitled

---




```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"
    }]
    