11
Düğüm geri çağırma kuralı kullanan bir düğüm modülü kullanıyorum. Bu modülü Bluebird vaatlerini kullanarak bir API'ye dönüştürmek istiyorum. Bunu nasıl yapacağımı anlamıyorum.Bluebird promise `promisifyAll 'çalışmıyor - özelliği okuyamıyor' o zaman '
Düğüm stili geri çağırma işlevim aşağıda. Onu bluebird'in sözüne dönüştürmek istiyorum.
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;
}
});
Ben
PromisifyAll
kullanarak bu yolu denedim ama çalışmıyor: Ben
then is not a function
hataları alıyorum
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);
});
. Bunu nasıl düzeltebilirim?
mavi kuşpromisifyAll
o zaman her işlev adına bir
Async
eki ekler ve bu nesnesine bu işlevi ekler kullanarak bir söz tabanlı bir API içine (xml2js gibi) bir modülü dönüştürür
İstek ile promisifyAll kullanıyordum ve Async son ekini eklememi gerektirmedi. Belirli bir nedeni var mı? – Antoine
@AnthonyMayfield İstek modülünün varsayılan olarak vaat kavramları kullanılarak yapıldığını düşünüyorum. Bunu, istekte bulunmaksızın kullandım. –