2017-07-17 17 views
1

列表水桶回調後回:節點表達AWS s3.listBuckets執行調用頁面呈現

router.get('/', function(request,response) { 
    s3.listBuckets(function(error, data) { 
     if (error) { 
      console.log(error); 
     } else { 
      console.log(data.Buckets[0].Name);//since i have only one bucket 
      bucket = data.Buckets[0].name;  
     } 
    }); 

    response.render('index', { mybucket:bucket }); 
    console.log("rendered page"); 
}); 

輸出:

rendered page      //rendered page with mybucket:'' empty 
GET /getbucket 200 7.827 ms - 787 
lvresults       //bucketname displayed after rendering in console 

bucketname是可訪問的頁面呈現

後才

回答

1

你應該訪問回調函數中的數據。

router.get('/', function(request,response) { 
    s3.listBuckets(function(error, data) { 
     if (error) { 
      console.log(error); 
     } else { 
      console.log(data.Buckets[0].Name); 
      bucket = data.Buckets[0].name; 
      console.log("rendered page"); 
      response.render('index', { mybucket:bucket });   
     } 
    }); 

}); 

爲了獲得更多的瞭解有關異步行爲,this link將是有益的。