Итак, я вызвал к жизни эту мерзость, и я не мог за свою жизнь задуматься о том, как ее оптимизировать таким образом, чтобы я мог правильно управлять этой цепочкой с помощью Promise.all/Promise.join.Переписывая эту цепочку обещаний frankenstein
Кто-нибудь может указать мне в правильном направлении? Возможно, сначала следует отделить эти методы.
Любое понимание оценено.
getOpenIDConf: function() {
return client
.getAsync('openId')
.then(
function(result) {
if (!result) {
return request
.getAsync({
url: 'https://accounts.google.com/.well-known/openid-configuration',
json: true
}).spread(
function(response, body) {
var result = JSON
.stringify(body);
client.setAsync('openId',
result).then(
function() {
return result;
});
});
} else {
return result;
}
});
},
[EDIT] Чтобы уточнить, я использую Bluebird
ли это на самом деле работает? Вы никогда не сможете вернуть результат обещания. Вы можете вернуть только обещание. – slebetman
Кажется, я получаю только мой результат –
Вы имели в виду 'client.setAsync (...' внутри 'spread' callback? – acbabis