Как отложить обещание ES6, как JQUERY DEFERRED?Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Как отложить обещание ES6, как JQUERY DEFERRED?

Сообщение Anonymous »

1. Используя обещание ES6, но синтаксис неверен. < /H3>

Я использую ES6 и хочу сделать диалоговое окно отложенного подтверждения: < /p>

Код: Выделить всё

// First, create an empty promise:
let promise = new Promise((resolve, reject) => {})

// Then, show the dialog:
let $dialog = $('#dialog-confirm').show();

// FAIL: I want to trigger the promise resolver, but failed.
$dialog.find('.btn-yes').click(() => { promise.resolve(); })
$dialog.find('.btn-no').click(() => { promise.reject(); })
< /code>

Когда я нажимал кнопку, она не удалась, потому что обещание не имеет отклонений < /code> и resolve < /code>. < /p>


uncaught typeerror: rape.Resolve не является функцией (…) < /p>
< /blockquote>  

 
  . jQuery Рабочий код: < /h3>

При использовании jQuery мы можем сделать ниже: < /p>

// First, create an empty promise:
var dfd = $.Deferred();
var promise = dfd.promise();

// Then, show the dialog:
var $dialog = $('#dialog-confirm').show();

// SUCCESS: jQuery deferred works
$dialog.find('.btn-yes').click(() => { dfd.resolve(); })
$dialog.find('.btn-no').click(() => { dfd.reject(); })
< /code>

 3. Попробуйте найти отложенный интерфейс для ES6. 

Итак, я искал издание [b] es6 [/b] отложенного: 

https://github.com/seangenabe/es6-deferred>
perrishrishrishred>
perrishrishred>
perrishredhiced />

Неопределенный: 1 uncaught (в перспективе) объект {} < /p>
< /blockquote>

Фактически, код просто сохраняет функцию внутренней решимости < /code> и повторно < /code> с использованием закрытия: < /p>

. />https://github.com/seangenabe/es6-deferred/blob/master/deferred.js

Та же стратегия, если я сделаю: 

let dfd = {};

let $dialog = $('#dialog-confirm').show();

let promise = (function() {
return dfd.promise = new Promise(function(resolve, reject) {
dfd.resolve = resolve;
dfd.reject = reject;
});
})();

// FAIL: still not working.
$dialog.find('.btn-yes').click(() => { dfd.resolve(); })
$dialog.find('.btn-no').click(() => { dfd.reject(); })
Итак, как я могу вытащить разрешение и отклонить действие из моего вызова для создания обещания?

Подробнее здесь: https://stackoverflow.com/questions/384 ... y-deferred
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как отложить/отложить оценку f-строк?
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Исключение jQuery.Deferred: $ не является функцией
    Гость » » в форуме Jquery
    0 Ответы
    12 Просмотры
    Последнее сообщение Гость
  • JQuery Deferred: синхронно ждать результата
    Гость » » в форуме Jquery
    0 Ответы
    16 Просмотры
    Последнее сообщение Гость
  • Facebook Deferred DeepLink не работает на Android
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Разница между Job и Deferred в сопрограммах Kotlin
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Jquery»