0
NodeJSと角度を使ってフォルダからファイルを読み込もうとしています。フォルダを繰り返し処理してファイルデータにアクセスできますが、問題はありません。 私の主な問題は、私は$スコープに結果(配列の配列)を渡すことができず、ユーザーに表示することができない - 配列は常に空です。私はこれがfsの非同期動作に関連していると思います。私は、次のことをやっている角度+ NodeJS:約束のあるフォルダからファイルを読む(fs.fileReadとfs.readdir)
:
角度サービス:
myApp.service('peopleService', ['$q', '$http', function($q, $http) {
var self = this;
this.people = [];
var peopleService = new Promise(function(resolve, reject) {
fs.readdir(folderPath, function(err, files) {
files.forEach(function(file) {
var obj;
fs.readFile(filePath, 'utf8', function (err, data) {
obj = JSON.parse(data);
var person = { name: obj.obituary.name, ... };
self.people.push(person);
});
});
});
resolve(self.people);
}).then(function(people) {
return people;
});
return peopleService;
}]);
角度コントローラー:
myApp.controller('homeController', ['$scope', '$http', 'peopleService', function($scope, $http, peopleService) {
$scope.people = [];
peopleService.then(function(people) {
$scope.people = people;
console.log($scope.people); //empty array (Array[0])
});
}]);
角度ページ:
<div class="list-group">
<a href="#" class="list-group-item" ng-repeat="person in people">
{{person.name}}
</a>
</div>
何が間違っていますか?
感謝。私はanglejsと電子を使ってデスクトップアプリを開発しています。私はファイルシステムにアクセスする必要があるので、角度の範囲内でノードjを使用する必要があります。代わりがありますか?私の質問に関して、あなたのソリューションは私の問題を解決しました。 – Ricky
@リッキーオハイオ州申し訳ありませんが私は電子を忘れて、問題はありません。私の解決策を正しい答えとしてマークすることを忘れないでください、thnx :)。 –