मैं नोड कॉलबैक सम्मेलन का उपयोग करने वाले नोड मॉड्यूल का उपयोग कर रहा हूं। मैं इस मॉड्यूल को ब्लूबर्ड वादे का उपयोग करके एपीआई में परिवर्तित करना चाहता हूं। मुझे यह नहीं मिल रहा है कि यह कैसे करें।ब्लूबर्ड वादा `promisifyAll` काम नहीं कर रहा है - संपत्ति को पढ़ नहीं सकता 'फिर`
नीचे मेरा नोड शैली कॉलबैक फ़ंक्शन है। मैं इसे ब्लूबर्ड के तत्काल वादे में परिवर्तित करना चाहता हूं।
var module = require('module'); // for example xml2js, or Mongoose
var parseString = xml2js.parseString;
parseString(xml, function (err, result) { // the regular API
if (err) {
console.log("Error in generation json from xml");
} else {
return result;
}
});
मैं इस तरह से PromisifyAll
उपयोग करने की कोशिश, लेकिन यह काम नहीं कर रहा:
var module = Promise.promisifyAll(require('module')); // for example xml2js
xml2js.parseString(xml)
.then(function (result) {
console.log("result = ", result);
})
.catch(function (err) {
console.err(err);
});
मैं then is not a function
त्रुटियों हो रही है। मेरे द्वारा यह कैसे किया जा सकता है?
मैं अनुरोध के साथ promisifyAll का उपयोग कर रहा था, और मुझे Async प्रत्यय जोड़ने की आवश्यकता नहीं थी। क्या कोई विशेष कारण है? – Antoine
@ एंथनीमेफील्ड मुझे लगता है कि अनुरोध मॉड्यूल डिफ़ॉल्ट रूप से वादे अवधारणाओं का उपयोग करके किया जाता है। मैंने इसका इस्तेमाल किया। फिर बिना इसे प्रमाणित किए अनुरोध पर –