В настоящее время я работаю над генератором с pg-promise и Bluebird:
function * getOrRegisterCurrentFriendIfProvided(t)
это должно вернуть либо пустое обещание (если t.ctx.context не определено),
NB: пример в чистом bluebird:
yield new Promise(function (resolve) { resolve({}) });
или вызовите другую функцию (которая дает результат):
yield t.task.call(params.friend,anotherFunction);
Любой способ выразить мое пустое обещание с помощью pg-promise (без использования запроса типа t.none("BYPASS QUERY"))?
В приведенном ниже примере, когда я делаю это:
db.task(getOrRegisterCurrentFriendIfProvided)
.then(function(result){
console.log(result) // gives me undefined
})
Я получил неопределенность. Я уверен, что проблема возникает, когда t.ctx.context не определен
РЕДАКТИРОВАТЬ: Полный код:
function * getOrRegisterCurrentFriendIfProvided(t) {
let params = t.ctx.context;
if (params.hasOwnProperty("friend")) {
yield t.task.call(params.friend,anotherFunction);
} else {
// returns a empty result ( {} ) promise , just to make promise chain not angry
yield new Promise(function (resolve) { resolve({}) });
}
}
getOrRegisterCurrentFriendIfProvided
реализацию к вашему вопросу, иначе невозможно узнать, что вы делаете и где проблема. - person vitaly-t   schedule 27.02.2017