/ / गल्प: अतुल्यकालिक कार्यों के पूरा होने के बाद रन कोड - गुलप

Gulp: एसिंक्रोनस कार्यों के बाद कोड चलाएं - गल्प

मेरे पास निम्न मिशन के साथ एक गुलप कार्य है: फ़ोल्डर्स की एक सूची प्राप्त करें। फ़ोल्डर में शब्दों को गिनें। प्रत्येक फ़ोल्डर के लिए गणना और एक भव्य कुल गणना की रिपोर्ट करें।

अब तक, मेरे पास यही है।

gulp.task("count", function() {

["folder1","folder2",...].forEach(function(folderName) {
gulp.src(["./"+folderName+"/**/*.md"]).pipe(countWords(folderName));
});

});

सभी फ़ोल्डर्स के "शब्दों को गिना जाने के बाद, मैं एक फ़ंक्शन को कॉल करना चाहता हूं reportGrandTotal। मैंने यह जानने के लिए घंटों की कोशिश की कि यह कैसे किया जाए। समस्या यह है कि gulp.src().pipe() श्रृंखला एसिंक्रोनस रूप से चलती है। मेरे द्वारा आजमाए गए कई पैटर्न में, reportGrandTotal किसी भी से पहले चल रहा है समाप्त होता है gulp.src().pipe() जंजीरें पूरी।

मैं इस कार्य को कैसे संशोधित करूं, ताकि एक बार सभी gulp.src().pipe() जंजीरें पूरी हो गई हैं, मैं दौड़ सकता हूं reportGrandTotal और कुल मिला?

उत्तर:

जवाब के लिए 0 № 1

यदि मैं आपके प्रश्न को समझ रहा हूं, तो आप ReportGrandTotal के लिए एक निर्भरता निर्दिष्ट कर सकते हैं, सुनिश्चित करें कि आपके सभी कार्य कॉलबैक का उपयोग करते हैं या एक स्ट्रीम या एक वादा वापस करते हैं।

gulp.task("reportGrandTotal", ["count"], function(){
// your code
}

दूसरा पैरामीटर एक निर्भरता होगा और रिपोर्टग्रेनटोटल निर्भरता होने से पहले नहीं चलना चाहिए। निर्भरता के लिए गुलदस्ता डॉक्स