Last active
March 20, 2024 08:12
-
-
Save HDDen/f8adb37c7f4470515742e828024a880a to your computer and use it in GitHub Desktop.
Promise template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function aaa(){ | |
| return new Promise(function (resolve, reject) { | |
| var obj = new Object(); | |
| if (1 === 1){ | |
| resolve(obj); | |
| } else { | |
| reject(obj); | |
| } | |
| }); | |
| } | |
| /** | |
| * Последовательный перебор цикла, выполнение дальнейшего кода после прохода всех элементов | |
| */ | |
| var event = { | |
| 'detail': { | |
| 'inputs': [ | |
| {'foo': 'bar'}, | |
| {'foo2': 'bar2'}, | |
| {'foo3': 'bar3'}, | |
| {'foo4': 'bar4'}, | |
| ] | |
| } | |
| }; | |
| var promises = event.detail.inputs.map(function(el){ | |
| return el; | |
| }); | |
| Promise.all(promises).then(function(values){ | |
| console.log(values); | |
| }); | |
| /** | |
| * То же, но уже с неопределённым ожиданием (например - запрос данных из внешнего источника) | |
| */ | |
| var event = { | |
| 'detail': { | |
| 'inputs': [ | |
| {'foo': 'bar'}, | |
| {'foo2': 'bar2'}, | |
| {'foo3': 'bar3'}, | |
| {'foo4': 'bar4'}, | |
| ] | |
| } | |
| }; | |
| var promises = event.detail.inputs.map(function(el){ | |
| return new Promise(function(resolve, reject){ | |
| var timeout = Math.random() * 1000; | |
| setTimeout(() => { | |
| resolve(el); | |
| }, timeout); | |
| }); | |
| }); | |
| Promise.all(promises).then(function(values){ | |
| console.log(values); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment