私はKoaフレームワークとES6を使用しています。 yield
が必要なこのビュー関数に結果を返す最初のメソッドを取得するにはどうすればよいですか?私はノード7.5アプリケーションで非同期呼び出しを使用するpgライブラリを使用しようとしています。非同期関数を呼び出すジェネレータからの結果を返すにはどうすればよいですか?
pgrepo.listCities = function*() {
pool.query('SELECT distinct(town) from public.property_uk', function(err, result) {
console.log("result: " + JSON.stringify(result.rows));
// What now?
});
};
www.pgindex = function*() {
let results = yield pgrepo.listCities(); // What now?
console.log('handler: ' + results)
yield this.render('pgindex', {
items: results
});
}
私は、yield
が実行を延期されて何が起こっているかを理解し、その機能が実行されていない結果と収穫した後、クエリの火災とは、結果を生成します。
私の質問は、どのようにこれらの2つの関数をリファクタリングして、クエリ結果がビューに渡す関数に返されるかです。
ジェネレータが本当にありますか?最初の関数は何も返さず、2番目の関数は異なる型のデータを生成します。むしろ、非同期/待機を必要としているようです。 – zeroflagL