0

我一直在摸索如何承诺此调用并在数据可用时将数据返回给另一个函数。

syno.query('/webapi/query.cgi', {
    api    : 'SYNO.API.Info',
    version: 1,
    method : 'query',
    query  : 'ALL'
}, function(err, data) {
    if (err) return console.error(err);
    console.log(data);
});

有人可以在这里阐明一下吗?我是nodejs的新手

我正在使用的旧库是这个https://www.npmjs.com/package/synology

4

1 回答 1

1

尝试 :

const query = () => new Promise((resolve, reject) => {

    syno.query('/webapi/query.cgi', {
        api: 'SYNO.API.Info',
        version: 1,
        method: 'query',
        query: 'ALL'
    }, function(err, data) {
        if (err) reject(err);
        resolve(data);
    });

})

然后你可以打电话:

query().then(data => { //do something
    })
    .catch(e => { //do other thing
    })
于 2020-05-02T07:14:55.247 回答