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);
}