将静态值作为承诺返回

时间:2016-05-15 22:36:41

标签: javascript promise q

在NodeJS中,我正在包装一个promise函数来返回一个静态变量。我确信有更好的方法,但我无法在Q docs找到它。这有效但Q.Promise似乎是多余的:

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);
    });
});
}

在Angular中我会使用$ q.when但是在Q库中#34;当"据我所知,似乎有不同的角色。我肯定会错过一些"当"方法。这是我希望能够做到的:

 function parseXML(filepath) {
    readXML(filepath).then(function (xml) {

        ...

        // some Q method to create a fulfilled promise
        Q.???(products);

    });

}

1 个答案:

答案 0 :(得分:1)

在Angular和Node中,这应该足够了:

function parseXML(filepath) {
    return readXML(filepath).then(function(xml) {
        ... (long synchronised code)...
        return products
    });
}