roleにデータないときは単なるobjectを返すようなのでそのエラーが出るようですね。
こんな感じで回避するしかなさそう(ncmbのサンプルがあること前提になってるような・・・)
HTML
1<!DOCTYPE html>
2<html lang="ja">
3<head>
4<meta charset="utf-8" />
5<script type="text/javascript" src="ncmb.min.js" charset="utf-8"></script>
6</head>
7<body>
8<script>
9var ncmb = new NCMB("省略", "省略");
10ncmb.Role.fetch()
11 .then(function(role){
12 if(role.hasOwnProperty("objectId") != false) {
13 console.log(role);
14 return role.fetchUser();
15 }
16 return([]);
17 })
18 .then(function(users, err){
19 console.log(users);
20 for (var i = 0; i < users.length; i++) {
21 var user = users[i];
22 console.log (user.userName);
23 }
24 })
25 .catch(function(err){
26 // エラー処理
27 console.log(err);
28 });
29</script>
30</body>
31</html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。