プロジェクトに関する情報を取得するために API を照会するこのルートがあります。スーパー エージェントを使用して get リクエストを送信し、いくつかのヘッダーを .set とともに渡します。project_results にはデータが含まれている必要があります。
ここに問題があります: この特定のルート/プロジェクトのページを 20 回読み込むことができます... 19 回は完全に機能しますが、ランダムにエラーがスローされます:
TypeError: Cannot read property 'creator' of null
このエラーは次の行を示しています。if(project.creator == req.signedCookies.user_3rb._id) {
だから私はそれが過去のものになっていることを知っています:if(project_results.status == '200') {
そして、同じプロジェクトを何度も何度も見ているので(そして、すべてのプロジェクトに作成者がいることを知っているので、DBをチェックしました)
私の質問は、project_results 変数のこのプロパティが見つからないことがあるのはなぜですか? 非常に一貫性がありません.. project_results は、コードを実行する前に完全に入力されていると思います...ステータスチェックに合格しているため、project_results変数に少なくともいくつかのデータがあることがわかっています..
app.get('/user/projects/:project_id', function(req, res, next) {
var agent = superagent.agent();
var project = {};
project.id = req.params.project_id;
agent
.get(apihost + '/api/project/'+project.id)
.set('api_key', apikey)
.set('access_token', user.access_token)
.end(function(project_error, project_results) {
if (project_error) {
console.log(project_error);
}
if(project_results.status == '200') {
project = JSON.parse(project_results.text);
// Check if we are the owner of the project
if(project.creator == req.signedCookies.user_3rb._id) {
project.owner = true;
}
......