# ❓ Callback
__
author: krm
created: 2023-10-09
status: alpha
__

Ange värdet på utrycket nedan. Blir det ett fel så skriv vilken typ av 
error det blir. Finns det fler utryck på samma rad är det värdet av det 
sista utrycket som ska anges. Förutom koden som ska vara gemensam så 
utgår vi från att inget utryck påverkar en annan uppgift.

# 1. 🎯 let a = (x)=>2*x; function foo(f) {return f(3)}; foo(a)

# 🪧 Vi leker med funktioner som parametrar

```js
let f1 = (x)=>3*x+1;
let f2 = (x)=>5*x;
let f3 = (x)=>7*x+3;

function foo(f,n) {
let summa = 0;
for(let i = 0; i < n; i++) { 
   summa += f(i);
}
return summa;
}
```

## 2. 🎯 foo(f1,0)

## 3. 🎯 foo(f1,1)

## 4. 🎯 foo(f1,2)

## 5. 🎯 foo(f2,3)

## 6. 🎯 foo(f3,f1(1))


# 🪧 Vi leker med callback

```js
function callback() {
   console.log("hej");
}

setTimeout(callback, 1000);
```

# 7. 🎯 Hur lång tid kommer det gå innan koden ovan göra någonting?

# 8. 🎯 Vad gör koden för någonting?


# 🪧 Vi leker mera med callback

```js
let count = 10;

function callback() {
   console.log(count);
   count--;
   if(count > -1) {
       setTimeout(callback, 1000);
   }
}

callback();
```

# 9. 🎯 Hur lång tid kommer det på ett ungefär gå innan koden är klar?

# 10. 🎯 Vad kommer koden ovan skriva ut?
