समयबाह्य करने यहाँ बस नियमित अनुरोध है कि की तरह लग रही है:कैसे angular2 http अनुरोध
this.people = http.get('http://localhost:3000/users')
.map(response => response.json());
}
वहाँ dealy लिए कोई तरीका है/टाइमआउट कि?
समयबाह्य करने यहाँ बस नियमित अनुरोध है कि की तरह लग रही है:कैसे angular2 http अनुरोध
this.people = http.get('http://localhost:3000/users')
.map(response => response.json());
}
वहाँ dealy लिए कोई तरीका है/टाइमआउट कि?
आप observables की timeout
ऑपरेटर लाभ उठा सकते हैं नीचे वर्णित के रूप में,:
return this.http.get('http://api.geonames.org/postalCodeSearchJSON',
{ search: params })
.retryWhen(error => error.delay(500))
.timeout(2000, new Error('delay exceeded')) // <------
.map(res => res.json().postalCodes);
(अनुभाग "समर्थन पुन: प्रयास करें" के साथ) अधिक जानकारी के लिए यह लेख देखें
का वापसी मूल्यएक अवलोकन है, प्रतिक्रिया नहीं।
getPeople() {
return http.get('http://localhost:3000/users')
.timeout(2000)
.map(response => response.json());
}
}
foo() {
this.subscription = getPeople.subscribe(data => this.people = data)
}
// to cancel manually
cancel() {
this.subscription.unsubscribe();
}
भी देखें https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/timeout.md
उत्कृष्ट उत्तर - केवल एक नोट: आपको आरएक्सजेएस से टाइमआउट ऑपरेटर आयात करने की आवश्यकता है या यह काम नहीं करेगा: आयात 'rxjs/add/operator/timeout'; – rhysclay
हाय गनटर, मैंने बिना किसी प्रभाव के अर्थकाल 'टाइमआउट' का उपयोग किया है (जिसका मतलब कोई देरी नहीं है), लेकिन जब मैं 'देरी (1000)' का उपयोग करता हूं, तो यह 1 सेकंड के लिए देरी से डेटा के साथ काम करता है। मैंने 'rxjs/add/operator/timeout 'आयात किया है, लेकिन जब भी मैं' टाइमआउट (5000) डालता हूं, तब भी मुझे डेटा मिल जाता है। क्या डेटाआउट बस डेटा में देरी से कुछ अलग करता है? –
टाइमआउट समय के भीतर नहीं आने पर त्रुटि के साथ देखने योग्य को पूरा करता है। देरी घटनाओं के उत्पादन में देरी हो रही है। –
मैं करना था: आप इसे पसंद उपयोग कर सकते हैं '.retryWhen (त्रुटियों => errors.delayWhen (() => Observable.timer (1000)))' के साथ आरएक्सजेएस 5.0.2। https://www.learnrxjs.io/operators/error_handling/retrywhen.html – Brandon
क्या वैश्विक स्तर पर टाइमआउट सेट करने का कोई तरीका है? – Will
@Will क्या वैश्विक स्तर पर टाइमआउट सेट करने का कोई तरीका है? –