0

ブルーバードとリクエストで関数を開発しようとしています。私が持っているモジュールでは:

module.prototype.getUsers = function (opts)
 {
    return new Promise(function(reject, resolve){
        request
        .post({
            url: opts.uri,
            form: {request: opts.req}
        },
        function(err, res, body){
            if(err)
            {
                reject(err);
            }
            else
            {
                resolve(body);
            }
        });

    });
 };

そして、実装には次のものがあります。

obj.getUsers()
.then(
    function(res){
        console.log(res);
    })
.catch(
    function(err){
        throw(err);
    });

しかし、私は得る:未処理の拒否エラー:「リクエストの結果」

at Object.ensureErrorObject (C:\Dev\projects\testApi\node_modules
\bluebird\js\main\util.js:261:20)
    at Promise._rejectCallback (C:\Dev\projects\testApi\node_modules\
bluebird\js\main\promise.js:465:22)
    at C:\Dev\projects\testApi\node_modules\bluebird\js\main\promise.
js:482:17
    at Request._callback (C:\Dev\projects\testApi\ebix.js:53:6)
    at Request.self.callback (C:\Dev\projects\testApi\node_modules\re
quest\request.js:198:22)
    at Request.emit (events.js:98:17)
    at Request.<anonymous> (C:\Dev\projects\testApi\node_modules\requ
est\request.js:1057:14)
    at Request.emit (events.js:117:20)
    at IncomingMessage.<anonymous> (C:\Dev\projects\testApi\node_modu
les\request\request.js:1003:12)
    at IncomingMessage.emit (events.js:117:20)
    at _stream_readable.js:943:16
    at process._tickCallback (node.js:419:13)

私が間違っていることは何ですか?私は約束とブルーバードでまったく新しいです。

4

1 に答える 1

1

コールバックの引数を混同しましたPromise:

function(reject, resolve) { ... }

それはでなければなりません:

function(resolve, reject) { ... {
于 2015-08-01T08:10:41.653 に答える