0
我有一個小應用程序,我正在做一個任務列表中的原型(我非常熟悉sails)。簡單的東西。但是,當我創建任務並在創建後轉發到列表時,該任務不會顯示在我的列表中。如果我做一個頁面刷新它。sails.js:新創建的記錄不會在頁面上填充,直到刷新
下面的代碼片段:
在任務 - >創建
List.findOne(req.session.List.id)
.exec(function foundTasks (err, list) {
Task.find({where: { list: list.id }, limit: 1, sort: 'priority desc'})
.exec(function getTaskPriority (err, task) {
if (err) {
console.log(err);
req.session.flash = {
err: err
}
}
list.tasks.add({name: req.param('name'), list: req.session.List.id});
list.save(function(err) {});
});
res.redirect('/list/show/'+req.session.List.id);
});
});
在列表 - >顯示
show: function(req, res, next) {
List.findOne(req.param('id'))
.populate('tasks')
.exec(function foundTasks (err, r) {
req.session.List = r;
if (err) return next(err);
res.view({
name: r.name,
tasks: r ? r.tasks : []
});
});
},
當我創建一個正常的項目不會出現這種情況,只通過.add()函數創建一個項目。它發生在我的代碼中的其他地方(我有多個上下文添加)。
使用此代碼,如果我創建任務「執行此1」,我將重定向到我的任務列表,並且「執行此操作1」不在此處。如果我刷新,它確實顯示。如果我添加「執行此2」,那麼我將被重定向到任務列表,並且僅顯示「執行此操作1」。直到我刷新,然後出現「做這2個」。
我想也許有一個異步問題(頁面加載速度比正在創建和讀取數據庫中的記錄?),但我已經添加了調試步驟來分析。
任何人有任何想法?