मेरा एक सरलीकृत कार्य है जो इस तरह दिखता है:
function(query) {
myApi.exec('SomeCommand', function(response) {
return response;
});
}
मूल रूप से मैं इसे कॉल करना चाहता हूं myApi.exec
, और कॉलबैक लैंबडा में दी गई प्रतिक्रिया को वापस कर सकता हूं । हालाँकि, उपरोक्त कोड काम नहीं करता है और बस तुरंत वापस आ जाता है।
बस एक बहुत ही हैकिश प्रयास के लिए, मैंने नीचे की कोशिश की जो काम नहीं किया, लेकिन कम से कम आपको यह विचार मिलता है कि मैं क्या हासिल करने की कोशिश कर रहा हूं:
function(query) {
var r;
myApi.exec('SomeCommand', function(response) {
r = response;
});
while (!r) {}
return r;
}
असल में, इस बारे में जाने का एक अच्छा 'नोड.जेएस / इवेंट संचालित' तरीका क्या है? मैं चाहता हूं कि जब तक कॉलबैक नहीं हो जाता, तब तक मेरा फ़ंक्शन प्रतीक्षा करें, फिर उस मान को लौटाएं जो इसे पारित किया गया था।