का इंतजार मैं Express.js उपयोग कर रहा हूँ मेरे कोड में Node.js v7.3 के साथ। इस में मैंने User Router
बनाया है जो मेरे User Controller
के अनुरोधों को आगे बढ़ाता है।IntelliJ विचार चेतावनी - "वादा लौटे नजरअंदाज कर दिया है" aysnc साथ/
मैं एसिंक्रोनस कॉल करने के लिए User Controller
के अंदर async/प्रतीक्षा कर रहा हूं। समस्या यह है कि इंटेलिजे मुझे एक चेतावनी देता है कि
लॉगिन() से वापस आने वाले वादे को अनदेखा किया जाता है।
बात यह है कि मैं login()
विधि से कुछ भी वापस नहीं कर रहा हूं।
यहाँ कोड है -
UserRouter.js
router.post('/login', function (req, res, next) {
userController.login(req, res); // I get the warning here
});
UserController.js
exports.login = async function (req, res) {
try {
const verifiedUser = await someFunction(req.body.access_code);
let user = await User.findOrCreateUser(verifiedUser);
res.status(200).send(user);
}
catch (err) {
res.status(400).send({success: false, error: err});
}
};
अगर मैं देशी वादों का उपयोग कर उसके बाद ही मैं डॉन एक ही लॉगिन विधि लिखना यह चेतावनी नहीं मिलती है। क्या मैं यहां कुछ गलत समझ रहा हूं या इंटेलिजे गलती पर है?
संपादित करें -
@Stephen के लिए धन्यवाद, मैं समझता हूँ कि एक async समारोह एक वादा देता है, लेकिन यह बेहतर नहीं होगा कि अगर Intellij को दिखाता है कि कुछ भी नहीं async समारोह से वापस आ जा रहा है और दिखाई नहीं देता यह चेतावनी क्योंकि जब मैं login()
फ़ंक्शन के बाद .then()
श्रृंखला करता हूं, तो यह परिणामस्वरूप undefined
ऑब्जेक्ट प्रदान करता है। इसका मतलब है कि अगर हम एसिंक फ़ंक्शन से कुछ वापस नहीं लौटाते हैं तो अपरिभाषित वापस आ जाता है?