promise ×6
Создан 03.01.2025
5
голоса
4
ответов
13
просмотров
Использование async/await с методом Array.map

Столкнулся с проблемой при работе с асинхронными функциями в TypeScript. У меня есть следующий код:

var arr = [1, 2, 3, 4, 5];

var results: number[] = await arr.map(async (item): Promise => {
    await callAsynchronousOperation(item);
    return item + 1;
});

Этот код вызывает...

5
голоса
5
ответов
16
просмотров
Как получить доступ к колбэкам разрешения Promise вне области видимости колбэка конструктора Promise?

У меня возникла проблема с использованием Promise в JavaScript. Обычно я создаю и использую Promise следующим образом:

new Promise((resolve, reject) => {
  const obj = new MyEventEmitter();
  obj.onsuccess = (event) => { resolve(event.result); };
  obj.onerror = (event) => {...
8
голоса
5
ответов
40
просмотров
Как преобразовать существующий API с обратными вызовами в промисы?

Я хочу работать с промисами, но у меня есть API, который использует колбэки в следующих форматах:

1. Загрузка DOM или другое одноразовое событие:

window.onload; // установить колбэк
...
window.onload = function() {

};

2. Простой колбэк:

function...
6
голоса
5
ответов
27
просмотров
JavaScript Промисы - reject против throw

Я прочитал несколько статей на эту тему, но все еще не совсем понимаю, в чем заключается разница между использованием Promise.reject и выбрасыванием ошибки. Например,

Использование Promise.reject

return asyncIsPermitted() .then(function(result) { if (result === true) { ...

9
голоса
5
ответов
36
просмотров
Синтаксис асинхронной стрелочной функции

Я могу пометить функцию JavaScript как "асинхронную" (то есть возвращающую промис) с помощью ключевого слова async. Например, так: async function foo() { // Делать что-то }

Каков эквивалентный синтаксис для стрелочных функций?

32
голоса
5
ответов
57
просмотров
Использование async/await с циклом forEach

Есть ли проблемы с использованием async/await в цикле forEach? Я пытаюсь пройтись по массиву файлов и использовать await для получения содержимого каждого файла.

import fs from 'fs-promise'

async function printFiles () {
  const files = await getFilePaths() // Предполагаем,...