jsonix
ライブラリは規約に従っていないため、 first argument must be an error
bluebird を使用して次のように約束することにしました。
return new Promise(function(resolve, reject) {
try {
unmarshaller.unmarshalString(xmlResponse,
function (unmarshalled) {
...
resolve(unmarshalled);
});
}
catch (error) {
reject(error);
}
});
しかし、これは無期限にハングアップします!一方、単純xmlResponse
にファイルに保存してから、別の方法で処理すると: unmarshalFile
... 約束はうまく機能しているようです!
return new Promise(function(resolve, reject) {
try {
unmarshaller.unmarshalFile('test1.xml',
function (unmarshalled) {
...
resolve(unmarshalled);
});
}
catch (error) {
reject(error);
}
});
だから私の質問は、なぜある方法では約束が失敗し、別の方法では失敗しないのでしょうか?