こんにちは、みんな、
別のサービスから返されたpromiseの.then()
呼び出しの内部からテーブルにデータを入力しようとしています。例:
function populateTable() {
MyService.retrieve()
.then( (response) => {
vm.myTableData = new NgTableParams({
count: 10,
page: 1
}, {
total: response.length,
getData: ($defer, params) => {
// some other stuff, further filtering etc.
params.total(response.length);
$defer.resolve(response);
}
});
})
.catch($log.log);
}
それは私にそれを教えてくれます: $defer.resolve is not a function
。
そして、 $defer
とparams
引数をコンソールアウトすると、 params
は未定義であり、 $defer
はparams
実際の値であることがわかります。
言い換えると、getDataは1つの引数のみで実行され、それがparamsの引数です。
それで、私はparams
、同期的に応答を返そうとします。
total: response.length,
getData: (params => {
params.total(response.length);
return response;
}
これでエラーなしでデータが返されますが、ページネーションが機能しなくなりました(ボタンは表示されますが、ボタンは何も実行せず、ページはデータセット全体にすぎません)。
だから...私は途方に暮れています。 オンラインのすべてのドキュメントと例では、 $defer
を使用する必要があると言われていますが、なぜそれが利用できないのでしょうか。
何か案は?
ああ、わかりました。 これは、誰かが初めて実装しようとしていて、変更ログを注意深く監視していない場合、ひどく混乱します。 ドキュメントはまもなく更新されますか?
typescript定義からAPIドキュメントを生成したいと思っています。
それまでの間、私の意見ではwikiを削除する必要があります。 そうすれば、誰かが見る唯一の場所は公式の例のサイトです
最も参考になるコメント
typescript定義からAPIドキュメントを生成したいと思っています。
それまでの間、私の意見ではwikiを削除する必要があります。 そうすれば、誰かが見る唯一の場所は公式の例のサイトです