में एक एसिंक्रोनस सॉर्टिंग पाइप को कार्यान्वित करना मैं कोणीय 2 में एक कस्टम पाइप बनाने की कोशिश कर रहा हूं जो वस्तुओं की एक सरणी को सॉर्ट करेगा। मैंने this post से थोड़ी सी सहायता प्राप्त की। हालांकि, मुझे यह काम नहीं मिल रहा है।कोणीय 2
मेरे पाइप इस तरह दिखता है:
@Pipe({
name: "orderByAsync",
pure: false
})
export class AsyncArrayOrderByPipe {
private _promise : Promise<Array<Object>>;
private _output: Array<Object>;
transform(promise: Promise<Array<Object>>, args: any): Array<Object>{
var _property : string = "";
var _descending : boolean = false;
this._property = args[0]["property"] || "";
this._descending = args[0]["descending"] || false;
if(!this._promise) {
this._promise = promise.then((result) => {
result.sort((a: any, b: any) => {
if (a[this._property] < b[this._property]) return (this._descending ? 1: -1);
else if (a[this._property] > b[this._property]) return (this._descending ? -1: 1);
else return 0;
});
this._output = result;
});
}
return this._output;
}
}
पाइप के उपयोग इस प्रकार दिखाई देगा:
<div *ngFor="#c of countries | orderByAsync">{{c.name}}</div>
दृश्य की तरह बात की सूचना नहीं है उस वादे को दूर किया है और डेटा कर दिया गया है यह लौटा हुआ।
मुझे क्या याद आ रही है?
आप कृपया एक त्वरित बना सकता
छोटे उदाहरण है जो आप 3 सेकंड के बाद, 'मान' देना चाहिए (अपने पाइप के अपने को बदलने विधि में रख) बिन तो स्निपेट चारों ओर खेला जा सकता है। –