0
NodeJSでは、私は静的変数を返すための約束関数をラッピングしています。私は良い方法があると確信していますが、私はQのdocsでそれを見つけることができませんでした。角度で約束事として静的な値を返す
function parseXML(filepath) {
return Q.Promise(function (resolve, reject, notify) {
readXML(filepath).then(function (xml) {
... (long synchronised code)...
//console.log('products -> ', products);
resolve(products);
}).catch(function (err) {
reject(err);
});
});
}
が、私は$ q.whenを使用しますが、Qライブラリーの中に「とき」私は理解して、異なる役割を持っているようだ:これはQ.Promiseは冗長と思われるしかし、動作します。私は確かにいくつかの "いつ"の方法が欠けています。
function parseXML(filepath) {
readXML(filepath).then(function (xml) {
...
// some Q method to create a fulfilled promise
Q.???(products);
});
}
あなたが '' parseXML 'からReadXmlの説明(ファイルパス)を返す必要があります'。関数が約束を使用すると、それは約束となり(あなたが約束を返す限り)、 'parseXML'は' thenable'になります – Wainage
しかし、最初の例のようにQ.Promiseを作成する必要がありますか?またはQ.Promiseでメソッドをラップすることなく "products"変数を返す方法がありますか? – Guy
いいえ、promise/asyncに行くと、同期することはできません。涙で終わるつもりです。答えが明らかでない場合は、私はあなたの例を肉体的に取り除くことができます。 – Wainage