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

Ange vad som kommer skrivas ut. Blir det ett fel så skriv vilken typ av 
error det blir. Hjälp funktionen nedan kan använda i hela fråge dokumentet.

```js
function createPromise(msg,time) { 
return new Promise(function(resolve, reject) {
   setTimeout(function() {
    resolve(msg);
  }, time);
});
}
```

# 1. 🎯 Promise.resolve("hej").then(console.log)

# 2. 🎯 Promise.resolve(1).then((x)=>x+1).then(console.log)

# 3. 🎯 Promise.resolve(6).then((x)=>x+1).then((x)=>Promise.resolve(2*x)).then((x)=>x*3).then(console.log)

# 4. 🎯 Promise.all([1,2,3,Promise.resolve(4),Promise.resolve(5)]).then(x=>x[0]+x[1]+x[2]+x[3]+x[4]).then(console.log)

# 🪧 Vi leker med löften

```js
createPromise("Step 1",500).then(console.log);
createPromise("Step 2",1500).then(console.log);
createPromise("Step 3",2500).then(console.log);
```

## 5. 🎯 Vad kommer skrivas ut?

## 6. 🎯 När kommer den första medelandet skrivas ut?

## 7. 🎯 När kommer nästa medelandet skrivas ut?

## 8. 🎯 När kommer det sista medelandet skrivas ut?

# 🪧 Vi tar löften efter varandra

```js
createPromise("Step 1",500).then(console.log).then(
createPromise("Step 2",1500).then(console.log)).then(
createPromise("Step 3",2500).then(console.log));
```

## 9. 🎯 Vad kommer skrivas ut?

## 10. 🎯 När kommer den första medelandet skrivas ut?

## 11. 🎯 När kommer nästa medelandet skrivas ut?

## 12. 🎯 När kommer det sista medelandet skrivas ut?

# 🪧 Vi tar löften samtidigt

```js
Promise.all([createPromise("Step 1",500),
createPromise("Step 2",1500),
createPromise("Step 3",2500)]).then(console.log);
```

## 13. 🎯 Vad kommer skrivas ut?

## 14. 🎯 När kommer den första medelandet skrivas ut?

# 15. 🤔 Vad är fördelen med att använda promise istället för callback?

# 16. 🤔 Vad innebär det att ett promise blir rejektet?
