knex新手在这里,试图远离续集。
我正在尝试在承诺中使用一系列 knex 原始调用。
经过大量研究,我想出了一个简单的工作示例,但我希望在 knex/promises 方面有更好背景的人在继续之前提出任何建议。
const firstPromise = ( promiseInput ) => {
return new Promise((resolve, reject) => {
console.log('parameter passed into promise: ' + promiseInput);
knex.raw("SELECT VERSION()")
.then(
(version) => { console.log ('inside: ' + version[0][0]["VERSION()"] );
resolve ('outside: ' + version[0][0]["VERSION()"] );
}
).catch(
(err) => { reject(err); }
)
})
}
const secondPromise = ( input ) => {
return new Promise ( (resolve, reject) => {
resolve (input) ;
})
}
console.log('Starting run.');
firstPromise('promise input.')
.then( (response) => { console.log ('response from firstPromise: ' + response) ;
return response ;
} )
.then( (newResponse) => console.log ('ending! ' + newResponse) )
.then( () => knex.destroy() )
.then( () => secondPromise('stuff into second promise')
.then((result) => { console.log('calling second promise: ' + result); return (result);} ) )
.then( (lastResponse) => console.log ('last response: ' + lastResponse) )
.catch( (error) => console.log ('error! ' + error) )
;
另外,请让我知道这是否是此类问题的正确论坛。
感谢您的时间和考虑。
旁注:令人惊讶的是,knex 比续集更容易。