Javascript:在嵌套函数

时间:2016-09-14 13:59:21

标签: javascript callback promise

我有这段代码:

createOrUpdate({
    test: 'test'
}).then((response) => {
    console.log(response);
});

期望createOrUpdate返回一个promise。这是createOrUpdate函数:

function createOrUpdate(requestParams) {

    var options = {};

    return getService('global', function(error, serviceResult) {
        if (error) {
            log.error(error);
            return callback(error, null);
        }

        //...

        return requestPromise(options);
    });

}

我有这个getService方法,需要一些参数和一个回调。我需要在调用createOrUpdate时返回return requestPromise(options),但目前它不起作用。我收到一个错误,说我无法调用createOrUpdate返回的内容。

想法?

1 个答案:

答案 0 :(得分:0)

很简单,您需要将getService变为a promise returning API

否则,节点回调函数不会return任何内容并忽略它们自己的返回值。

function createOrUpdate(requestParams) {

    var options = {};

    return fromCallback(getService)('global').then(options => 
        requestPromise(options);
    );

}