Вопросы с тегом «promise»

86
Как тогда справиться с обещанием if-else?

В некоторых случаях, когда я получаю возвращаемое значение от объекта обещания, мне нужно запустить две разные then()прецессы в зависимости от условия значения, например: promise().then(function(value){ if(//true) { // do something } else { // do something } }) Я думаю, может, я смогу написать это...

86
Как правильно вернуть несколько значений из обещания?

Я недавно пару раз сталкивался с определенной ситуацией, которую не знал, как ее решить. Предположим следующий код: somethingAsync() .then( afterSomething ) .then( afterSomethingElse ) function afterSomething( amazingData ) { return processAsync( amazingData ); } function afterSomethingElse(...

86
Как отвергнуть обещание изнутри, затем функция

Вероятно, это глупый вопрос, но в середине цепочки обещаний, как вы отклоняете обещание изнутри одной из функций then? Например: someActionThatReturnsAPromise() .then(function(resource) { return modifyResource(resource) }) .then(function(modifiedResource) { if (!isValid(modifiedResource)) { var...

84
Как проверить, разрешено ли обещание Angular $ q

Я понимаю, что обычно then()при использовании обещаний можно просто присоединить код продолжения с поведением вызова и цепочки. Однако я хочу запустить асинхронный вызов, заключенный в обещание, а затем отдельно запустить 3-секундный, $timeout()чтобы я мог выполнить действие пользовательского...

84
Как указать разрешение и тип отклонения обещания в JSDoc?

У меня есть код, который возвращает объект обещания, например, используя библиотеку Q для NodeJS. var Q = require('q'); /** * @returns ??? */ function task(err) { return err? Q.reject(new Error('Some error')) : Q.resolve('Some result'); } Как задокументировать такое возвращаемое значение с помощью...

83
Отложенное против обещания

В чем разница между Deferred и Promise, кроме версий jQuery? Что мне следует использовать для своих нужд? Я только хочу назвать fooExecute(). Мне нужны только fooStart()и, например, fooEnd()для переключения статуса html div. //I'm using jQuery v2.0.0 function fooStart() { /* Start Notification */...

83
Как всегда запускать код при выполнении обещания в Angular.js

В моем приложении Angular.js я выполняю асинхронную операцию. Перед запуском я накрываю приложение модальным div, а затем, когда операция завершена, мне нужно удалить div, независимо от того, была ли операция успешной или нет. В настоящее время у меня есть это: LoadingOverlay.start();...

19
Очистка утечек памяти на неустановленном компоненте в React Hooks

Я новичок в использовании React, так что это может быть очень просто сделать, но я не могу понять это самостоятельно, хотя я провел некоторое исследование. Прости меня, если это слишком глупо. контекст Я использую Inertia.js с адаптерами Laravel (backend) и React (front-end). Если вы не знаете...

11
Поиск источника необработанного отклонения обещания: TypeError: Цикл цепочки обнаружен для обещания

Я пытаюсь найти источник необработанного отказа от Promise в Node.js Я попытался обновить до Node версии 12, используя --async-stack-tracesопцию, и прослушал их, используя: process.on("unhandledRejection",( reason, promise ) => { console.log(reason); console.log(promise); }); Но я все еще не...

11
Как поставить микрозадачу в очередь, если браузер не поддерживает встроенные обещания?

Лучше написать код, который не зависит от времени немедленных обратных вызовов (например, от микрозадач против макрозадач), но давайте пока отложим это. setTimeoutставит в очередь макрозадачу, которая, как минимум, ожидает запуска, пока не завершатся все микрозадачи (и микрозадачи, которые они...

11
Почему установка свойства CSS с помощью Promise.then на самом деле не происходит в блоке then?

Пожалуйста, попробуйте запустить следующий фрагмент, затем нажмите на поле. const box = document.querySelector('.box') box.addEventListener('click', e => { if (!box.style.transform) { box.style.transform = 'translateX(100px)' new Promise(resolve => { setTimeout(() => { box.style.transition...

10
С обещанием, почему браузеры возвращают отклонение дважды, а не разрешение дважды?

У меня проблемы с пониманием javaScript promises. Я написал следующий код: var p = new Promise(function(resolve,reject){ reject(Error("hello world")); }); setTimeout(()=>p.catch(e=>console.log(e)),5000); Я сразу вижу это в моей консоли разработчика Chrome: Но после того, как я подожду 5...

9
Как я могу прервать обещание в Раку?

Я знаю, что могу запланировать, Promiseчтобы быть сохраненным в течение определенного количества времени с my $promise = Promise.in($seconds); но как я могу запланировать его нарушение? В частности, я имею в виду обещание, которое «истечет», так что у него будет определенное количество времени для...