नहीं कहा जा रहा है मैं वादा लाइब्रेरी ब्लूबर्ड का उपयोग कर रहा हूं और मैं वर्तमान में इस मुद्दे पर चल रहा हूं कि फ़ंक्शन के अंदर सबकुछ बढ़िया हो जाता है, लेकिन जब मैं कोई मान वापस करने का प्रयास करता हूं, तो फ़ंक्शन undefined
देता है। , जब foo()
बुला यह मूल्य पुस्तक के बजाय undefined
हो जाता है:वादे श्रृंखला के अंदर वापसी मूल्य को
function foo() {
createGroupMembers(parsedChat).then(function(val) {
var members = val;
createMessages(parsedChat, maxPages).then(function(val) {
var messages = val;
Promise.all([ createFrontCover(subject, firstdateOfMessages, lastDateOfMessages, isPreview), createStats(parsedChat), createBackCover(parsedChat)])
.then(function (results) {
var front = results[0];
var stats = results[1];
var backcover = results[2];
var book = head + front + stats + members + messages + backcover;
console.log('pages in this book: ', pages);
console.log(book); // logs perfect values.
return book;
});
});
});
}
समस्या सरल है:
यह वादा श्रृंखला है। मैं इस व्यवहार का अनुभव क्यों कर रहा हूं?
foo सब –
पर कुछ भी मैं Bluebird से परिचित नहीं हूँ वापस नहीं करता है, लेकिन मैं देशी जे एस वादों का इस्तेमाल किया है। ऐसा कहकर ... अनाम कार्य 'समारोह (परिणाम)' रिटर्न बुक। इसके ऊपर दो अज्ञात फ़ंक्शंस 'फ़ंक्शन (वैल)' कुछ भी नहीं लौटाता है। अंत में, 'foo', कुछ भी वापस नहीं करता है। –
आपको अपने सभी नेस्टेड फ़ंक्शंस को वापस करने की आवश्यकता है। createGroupMembers, createMessages, आदि – ehynds