2016-06-28 11 views
7

Ben bir söz Son sonucu yakalar onu biçimlendirir ve verileri çıktılar bir sarmalayıcı vardır: biri görünümündeSadece yerine getiren boş bir söz yaratın mı?

req.resolve = (promise) => { 
    return promise.then(() => { 
      res.json(req.user); 
     }).catch(Sequelize.ValidationError, err => { 
     // respond with validation errors 
     return res.status(422).send(err.errors); 
    }).catch(err => { 
     // every other error 
     return res.status(400).send({ message: err.message }); 
    }); 
}; 

, bir söz yok olur, hepsi bu yetki-fonksiyonu olduğunu Tetikleyiciler req.user ve done() tetikleyicileri ekler.

Böyle bir söz eklemeyi denedim, ancak çözümlenmiyor.

app.get('/user/me', auth, 
    (req, res, next) => { 
     req.resolve(new Promise()); 
    }); 
+0

'req.resolve()' parametresi iletilmeksizin ne yapar? – guest271314

+0

Hiçbir şey döndürmez, verileri tarayıcıya verir. Bu çalışma, express.js – Himmators

cevap

10

Promise yapıcı, yürütücü işlevini parametre olarak gerektirir.

için Promise.resolve() yerine
+0

tarafından kullanılan bir dizi veriye erişebilir, ancak bu uyarıyı alırım: Uyarı: Bir işleyicide bir söz yaratıldı ancak bundan iade edilmedi – Himmators

+1

Geri dönmeyi dahil et 'ifadesi res.json (req.user); Nested '.catch()' işlevlerinin amacı nedir? – guest271314

İlgili konular