ここ数時間、私は完全に詰まっています。ジェネレータ関数への引数の受け渡し
どのようにジェネレータ関数にパラメータを渡すのですか?
function* getFoo(foo) {
return yield Promise.resolve(foo + 10);
}
exports.testRoute = Promise.coroutine(function* (req, res) {
let bar = yield Promise.coroutine(getFoo); // <--- how to pass argument??
res.send(bar.toString());
});
現在のコードは(と私はそれがhereに私を指して知っているが、それは、引数の受け渡しについては何も言いません)エラーをスロー:
Unhandled rejection TypeError: A value [object Promise] was yielded that could not be treated as a promise
See http:// goo.gl/4Y4pDk
From coroutine:
at Function.module.exports.Promise.coroutine (d:\Workspace\Github\API-NodeJS\app\node_modules\bluebird\js\main\generators.js:111:17)
私はこれを行う場合は、次の
let bar = yield Promise.coroutine(getFoo(5));
私は次のエラーが発生します(再度自明のエラーですが、this linkは)どちらか渡す引数を説明していません:あなたはPromise.coroutine
が何をするかを理解する必要があり
function* getFoo(foo) {
return yield Promise.resolve(foo + 10);
}
exports.testRoute = Promise.coroutine(function* (req, res) {
let bar = yield Promise.coroutine(getFoo)(50);
res.send(bar.toString());
});
:
Unhandled rejection TypeError: generatorFunction must be a function
See http:// goo.gl/6Vqhm0
at Function.module.exports.Promise.coroutine (d:\Workspace\Github\API-NodeJS\app\node_modules\bluebird\js\main\generators.js:107:15)
'私は、コンテキストを誤解するかもしれませんが、あなただけの'収量Promise.coroutine(getFoo.bindを(ヌル、5))で行うことはできませんか? – LINKIWI
@LINKIWIいいえ、私は最初のエラーを得る**値[オブジェクトの約束]が得られた... ** – Shaharyar