Отложенные объекты упрощают управление обратными вызовами в асинхронной среде, уменьшая «пирамиду гибели», возникающую из-за слишком большого количества вложенных обратных вызовов.

Подробнее про deferred...

У меня есть событие нажатия кнопки, в котором я выполняю несколько шагов. Первый шаг - это запрос ajax, а второй шаг - вызов функции, передающей имя кнопки в качестве параметра. Как мне этого добиться? function buttonClick(e){ var param1ToBePassed = 1; var param2ToBePassed = 2; $.when(....
6 Окт 2021 в 20:23
Давайте возьмем пример этого фрагмента кода, который заставляет регистратор писать в локальный файл вместо стандартного вывода: f, err := os.OpenFile("filename", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644) if err != nil { log.Fatal(err) } defer f.Close() log.SetOutput(f) Автор помещает ....
7 Авг 2021 в 18:12
У меня есть код: ... func Run(tasks []Task, n, m int) error { ... for i := 0; i < n; i++ { go func() { defer wg.Done() for t := range taskCh { if atomic.LoadInt32(&errCount) >= int32(m) { return } ....
13 Апр 2021 в 10:58
Я проверил другие похожие проблемы в Stackoverflow, но в моем случае это не работает. Ситуация: я разрабатываю приложение, которое необходимо подписать PDF-документ. Ключ подписи принадлежит другой компании, скажем, CompanyA. Я сделал следующие шаги: Получил PDF-документ для подписи. Создал временн....
8 Фев 2021 в 13:16
Я реализую протокол, экземпляры которого могут быть созданы с разными таймаутами, поэтому я использую TimeoutMixin. Идею можно представить с помощью этого фиктивного класса: my_protocol.py из импорта twisted.protocols .......
У меня есть две функции ajax, которые мне нужно выполнить, прежде чем можно будет запустить третью. Я превратил их в две переменные и использовал $ .when для запуска третьей. var ilf = $.ajax({ type: "POST", dataType: "json", contentType: "application/json; charset=utf-8....
10 Ноя 2020 в 01:07
Я не эксперт по узлам, но, насколько я понимаю, инструкции require больше не используются по умолчанию с версией узла выше 12. Я переношу приложение, написанное на старой версии, но натыкаюсь на инструкцию модуля импорта. Раньше я require('deferred') Но не могу найти аналог с импортом из инструкции.....
26 Авг 2020 в 23:39
type Tasks map[int]CustomValue func (t *Tasks) Put(task MyTask) { (*t)[len(*t)] = task return len(*t) - 1 } func (t *Tasks) Get(taskID int) interface{} { defer func() { // Is this OK??? delete(*t, taskID) }() return (*t)[jobID].GetValue() } Вот мой код Go. По ....
19 Авг 2020 в 13:02
Я пытаюсь создать последовательность функций, связанных вместе. Следующее делает то, что я хочу, но я хочу иметь возможность вызывать любую из функций самостоятельно, чтобы запустить последовательность. Например, если бы я вызвал one (), он запустил бы one (), затем two (), затем three (), затем c....
16 Авг 2020 в 22:05
У меня есть асинхронная функция getDataItem, которая возвращает обещание и передает данные другой функции preparePhysicianSchemaData, которая создает глобальный объект physicianDetailsObj из переданных данных, а также данных, полученных после вызова еще одного асинхронного функция внутри него для ка....
assets/javascript/hdr.js: jQuery(function($) { console.log("testtt"); function returnT() { return true; } }); functions.php: function hdr_scr() { wp_enqueue_script( 'h_scr', get_stylesheet_directory_uri() . 'assets/javascript/hdr.js', array(), false, false ); } add_act....
10 Авг 2020 в 19:42
Я пытаюсь получить данные из базы данных комнат, используя async & await внутри Coroutine Scope, но получаю проблему при возврате значения. Вот мой код: fun getUserFromDB():Profile { val profileDao = AppDatabase.getDatabase(context).getProfileDao() CoroutineScope(Dispatchers.IO).launch { ....
Я читал, что IE не поддерживает обещания, однако у меня есть устаревший код с .then, который, похоже, отлично работает в IE. Как это может быть так, как я понимаю .then = promises? Благодарность....
31 Май 2020 в 16:49
Ниже я написал некоторый код, в котором используются обещания, и самый простой способ написать его - использовать Deferred объект вместо обычной функции исполнителя Promise, потому что мне нужно разрешить обещание извне исполнителя. Мне интересно, есть ли принятый шаблон проектирования, основанный н....
22 Апр 2020 в 09:15
Я очень стараюсь понять параллелизм в Go. package main import "fmt" func sendValues(myIntChannel chan int) { for i := 0; i < 5; i++ { myIntChannel <- i //sending value } } func main() { myIntChannel := make(chan int) defer close(myIntChannel) go sendValues(myIntChannel....
21 Мар 2020 в 17:23
У меня есть две функции обратного вызова B, C, и я хотел бы, чтобы они обрабатывали результат функции A, возвращающей отложенный (A-> B-> C). Обычно я бы объединял их в одно, но по какой-то причине я не могу этого сделать. Насколько я знаю, скрученный конвейер обратного вызова обрабатывает возврат ....
8 Фев 2020 в 17:07
У меня есть 2 примера кода: func test() int { var x int defer func() { x++ }() x = 1 return x } func main() { fmt.Println(test()) } Он возвращает: 1. Однако следующий пример кода ведет себя иначе: func test() (x int) { defer func() { x++ }() x....
30 Дек 2019 в 15:33
Цель: Я пытаюсь внести изменения в связанные таблицы внутри транзакции. Действия: Я изменил ограничение в таблице, чтобы установить для них DEFERRABLE INITIALLY DEFERRED возможность фиксации в указанной таблице внутри транзакции. Как в этой статье. Итак, в моей таблице есть два ограничения FK....
Если у меня есть горутина, могу ли я закрыть канал, который я открыл в этой горутине, используя что-то вроде этого? defer(close()) Или операторы defer не запускаются для горутин при выходе из основного?....
16 Дек 2019 в 19:51
Здесь я объявляю функцию, которая откладывает trace1 func TestDeferFunc(t *testing.T) { fmt.Println("start", time.Now()) defer trace1() time.Sleep(3 * time.Second) } func trace1() { startTime := time.Now() fmt.Println("end time: ", startTime) fmt.Println("execute time: ", ti....
26 Ноя 2019 в 07:56
В настоящее время мы разрабатываем приложение, и мы немного застряли в отношении функции оплаты. Мы бы хотели, чтобы приложение работало так: - Клиент вводит свою платежную информацию и подтверждает платеж на сумму «Х или меньше». Оттуда мы получаем предварительное одобрение, чтобы взимать с этого к....
Я собираюсь получить двоичный поток данных через вызов HTTP POST. Я считаю, что на стороне клиента работает, то есть он записывает куски байтов на сервер, я могу видеть объем данных, отправляемых с tcpdump, но {Twisted} request.content файлоподобный объект только начинает производить вывод, как толь....
28 Окт 2019 в 14:31
Итак, я возился с go и обнаружил, что функция ниже успешно восстанавливается. package main import ( "fmt" ) func a() { defer func(){ if r := recover(); r != nil { fmt.Println("Recovered", r) } }() n := []int{5, 7, 4} fmt.Println(n[3]) fmt.Print....
18 Окт 2019 в 05:30
Я пытаюсь отменить ожидающие вызовы API, когда те же API вызываются снова. У меня есть выпадающее меню onChange, из которого я делаю свой вызов API, здесь вызов API требует много времени для возврата данных, поэтому я отменяю все предыдущие вызовы в массиве pendingRequest и сохраняю только последний....
У меня есть приложение Spring Boot и устаревший код с двумя конечными точками в контроллере, оба из которых возвращают DeferredResult <> разных объектов, и теперь мне нужно создать новую конечную точку, которая в основном вызывает эти два метода и объединяет их результат после некоторой фильтрации и....
12 Сен 2019 в 18:32