1
、データは、未更新のレコードが表示されます。Bookshelf.js - レコードを更新した後、最初のページのロード/クエリは、古いレコードを表示します。私は本棚を使用してヌル、そのデータを表示するページにリダイレクトするように列を設定すると、私が更新するまでリフレッシュデータが表示されたら、正しく
Table.where({id: req.param.id}).fetch()
.catch(function (err) {
console.log(err);
})
.then(function (results) {
results.set('other_column', null);
results.save();
results.refresh();
// Redirect to orders page
res.redirect('/landing-page');
});
ランディングページのクエリはこれです:ここでは、コードです
Table.where({id: req.param.id}).fetch()
.catch(function (err) {
console.log(err);
})
.then(function (results) {
data.results = results.attributes;
res.render('display-page', data);
});
誰もが、私は更新されたレコードを取得することができます方法を知っている、または私は間違ってレコードを更新していた場合、私に知らせていますか?すべてのヘルプ私は、ユーザーがそれを更新した後、古いデータでページをレンダリングすることができないとして、この問題ははるかに高く評価されるだろう解決...
また、 'catch'はpromise chainの最後のハンドラでなければなりません。 –
合意済み@RhysvanderWaerden。最後にcatch()を配置すると、連鎖はtry {} catch(){}のようになります。しかし、 'キャッチ()' 'これは、より多くのスタイルのことですが、その後、'(ヌル、機能(E){...})と等価であるから。 – flaviodesousa
が間違っています。あなたのコード例では、 'then'ハンドラがエラーの場合に呼び出されます。 'results'パラメータはcatch''からundefined' 'このケースでは、前のハンドラの戻り値をとります。これはスタイルの問題ではなく、実行時エラーを引き起こします。 –