Sunucuda bir özel durum meydana gelirse istemciye iletilen hata nesnelerini özelleştirebileceğimi umuyordum. Oturum başarılıSunucudaki özel durumlar, istemcideki başarısız değişkenini özelleştirme
hub.server.login(username, password).then(function(result) {
// use 'result'
}, function(error) {
// use 'error'
});
ise 'sonuç' sunucudaki Girişi yönteminin dönüş değeri: Ben başarı ve başarısızlık işlemek için istemci üzerinde 'sonra' fonksiyonunu kullanıyorum
. Giriş başarısız olursa, 'CustomException' istisnası atarım. Bu bir 'Kod' özelliğiyle bir istisnadır. istisna Mesajı özelliği -
if (!IsValidLogin(username, password))
throw new CustomException { Code: "BADLOGIN", Message: "Invalid login details" };
Ben istisnalar etkin ayrıntılı varsa, istemci üzerinde 'hatası' argümanı 'Geçersiz giriş bilgileri' dir.
Hata sonucunu bir dizeden karmaşık bir nesneye seçici olarak değiştirebilmemin bir yolu var mı? Örneğin, 'CustomException' bir hub yöntemine atılırsa, istemci tarafı başarısız işleyicisi için bir {Kod: [...], İleti: [...]} nesnesi döndürün?
Bu benim istemci üzerinde görmek istiyorum neyi göstermelidir:
hub.server.login(username, password).then(function(userInfo) {
alert("Hello " + userInfo.Name);
}, function(err) {
if (err.Code === "BADLOGIN.USERNAME")
alert("Unrecognised user name");
else if (err.Code === "BADLOGIN.PASSWORD");
alert("Invalid password");
else
alert("Unknown error: " + err.Message);
});
('Kod' ve 'err' üzerinde 'Mesaj' özelliklerini unutmayın). aşağıdaki gibi
Neden bir hata atmak yerine özel bir nesne göndermiyorsunuz? –
Sadece temiz olmaz. Sanırım ne demek istediğimi biliyorum, bir 'Sonuç' ve 'Hata' özelliğine sahip bir tür geri dönüş nesnesi - biri belirlenecek, biri boş olacak. Bunu daha önce kullandım, ama bir istisnanın daha iyi verilip verilemeyeceğini merak ettim ve bu başarısızlık, 'o zaman' geri aramalarının doğası gereği müşteriye otomatik olarak ayrı ayrı giriş yapamaz. – Barguast
i.e.then (function (sonuç) {if (result.error) {// başarısız} else {// success}}); Çalışırdı, ama ayrı bir başarı ve başarısızlık dalına sahip olan sözlerin alışılmadık düzenini takip etmezdi. – Barguast