Я использую модуль request-prom и не нашел упоминания о том, как запросить цепочку. Я в настоящее время после их синтаксис:Цепочки запросов с использованием BlueBird/Request-Promise
request({options})
.then(function(result){...})
.catch(function(error){...})
Однако я хочу, чтобы иметь возможность использовать Promise.all и попытаться сделать несколько звонков одновременно и ждать их всех решимостью, а затем продолжить с другими вызовами , Например, я хочу:
- Позвонить в одно приложение, создав пользователя.
- В одно и то же время сделайте вызов, создав адрес.
- Promise.all ([UserCall, AddressCall]). Then ({функция для решения результатов])?
Также я работал с моей функцией в module.exports = {...}. Это требует от меня быть вне экспорта и объявлять их как отдельные переменные?
Из того, что я понимаю его, кажется, как будто я должен сделать что-то вроде:
var UserCall = function(req,res){
return new Promise(function (resolve, reject){
request({options})? //To make the call to create a new user?
// Then something with resolve and reject
Любая помощь очень ценится. Я думаю, что я могу смешивать основные концепции BlueBird и пытаться использовать их с обещанием.
Да, просто используйте 'Promise.all ([запрос ({...}), запрос ({...})])'. в чем именно проблема?: Что вы пробовали? – Bergi
Нет, вы не должны использовать конструктор 'new Promise', если' request (...) 'уже возвращает обещание – Bergi
Я попытался использовать' Promise.all ([запрос ({...}), request ({...})]). затем (функция (результаты) {...}) '. Однако по некоторым причинам я получаю нулевые или неопределенные результаты из 2 запросов. Я сделал несколько консольных журналов, и кажется, что функция .then не ждет возвращения результатов. Я должен положить '.then (function (result) {return result})' для каждого 'request ({...})'? – Jeff