Есть ли способ определить, является ли произвольный объект js угловым обещанием? Я хотел бы иметь другое поведение, основанное на том, является ли результат функции обещанием. Я могу проверить, имеет ли объект функцию «then», но есть ли лучший способ?Обработка данных, которые могут быть или не быть обещанием
0
A
ответ
1
Проверка на наличие .then()
звучит разумно для меня, но вы можете искать $ q's when()
. Это позволит вам обрабатывать все, как если бы это было обещание, чтобы вы могли нормализовать поведение обещающих и не обещающих данных.
Вот пример использования обещание API JQuery (это почти идентично и проще в настройке): Live demo (click).
var deferred = new $.Deferred();
deferred.resolve('some promise data.');
var promise = deferred.promise();
x = 'some regular data.';
foo(x);
foo(promise);
function foo(input) {
$.when(input).then(function(data) {
console.log(data);
});
}
Смежные вопросы
- 1. Разделить на список строк, которые могут быть или не быть.
- 2. Переменные, которые могут быть эхом
- 3. заявления, которые могут быть перераспределены
- 4. Обработка jQuery обещаний, которые могут быть сбой по нескольким причинам
- 5. Хранимые процедуры MySQL - отправка переменных, которые могут быть или не могут быть пустыми
- 6. UNCATALOG объекты, которые не могут быть найдены
- 7. TDD - Зависимости, которые не могут быть издевались
- 8. переменные, которые не могут быть обобщенными
- 9. Вещи, которые не могут быть унаследованы
- 10. Поверхности, которые не могут быть удалены
- 11. Методы DELETE, которые не могут быть вызваны
- 12. Избегайте или задерживайте оценку вещей, которые не могут быть использованы
- 13. Найти порты, которые * могут * быть открыты
- 14. Разбор адресных данных, которые могут быть не в одном столбце
- 15. Сохранение данных на андроид, которые не могут быть удалены
- 16. Чтение файла целыми числами, которые могут быть или могут быть обозначены пробелами
- 17. Как хранить данные, которые могут быть структурированы или неструктурированы одновременно?
- 18. C# BinaryReader - данные, которые могут быть или не быть в двоичном файле
- 19. Максимальное количество яблок, которые могут быть собраны
- 20. Реализация форм, которые могут быть динамически изменены
- 21. Выбор ячеек, которые могут быть активными ячейками
- 22. не могут быть решены
- 23. Значения, которые могут быть сохранены в LMDB
- 24. панели уведомлений jquery, которые могут быть уволены?
- 25. Параметры sql, которые могут быть необязательными
- 26. Существуют ли алгоритмы сортировки данных (приблизительно?), Которые могут быть изменены?
- 27. Отношения не могут быть изменены, поскольку одно или несколько свойств ключей иностранца не могут быть нулевыми.
- 28. Получить первую часть строки до некоторой строки, которые могут быть или не быть в нем
- 29. Анализ XML-файла зависит от тегов, которые могут быть или не быть.
- 30. Linq фильтр по нескольким значениям, которые могут быть или не быть
Вы можете просто обернуть свою обычную функцию в обещании. – elclanrs