subtest1(conn, values) एक जनरेटर है। yield एक जनरेटर वस्तु में अपने शरीर को निष्पादित नहीं करता है। अर्थात्, उत्पन्न जनरेटर निलंबित रहता है, और उसे next() . पर कॉल करने की आवश्यकता होगी पहली yield . के लिए विधि पहुंचना है। next() . पर कोई स्पष्ट या अंतर्निहित कॉल नहीं है कोड नमूना 2 . में , और यही कारण है conn.query(...) निष्पादित नहीं है।
कैसे के बारे में yield* subtest1(conn, values)
? लिंक किए गए पेज से:
यह अभी भी subtest execute निष्पादित करेगा आलसी।
एक वैकल्पिक समाधान subtest . को चालू करना है एक नियमित फ़ंक्शन में और conn.query(...) . का परिणाम लौटाएं (यह मानते हुए कि आपको केवल एक प्रश्न करने की आवश्यकता है):
function subtest1(conn, values) {
return conn.query("INSERT INTO version SET ?", values);
}