В expressjs, я обычно использую асинхронную функцию, как показано ниже:Koajs дают возвращаемое функцией значение
function foo(callback) {
var bar = {a: 1, b: 2};
callback(null, bar);
}
foo(function(err, result) {
// result is {a: 1, b: 2}
});
В Koajs, я использую yield
в функции маршрутизации, как показано ниже:
function foo(callback) {
var bar = {a: 1, b: 2};
callback(null, bar);
}
var result = yield foo.bind(null); // [{a: 1, b: 2}]
Я ожидаю, результатом является {a: 1, b: 2}
, но в результате получается массив [{a: 1, b: 2}]
.
Итак, как я могу получить значение ожидания в koajs?
Честно говоря, я немного удивлен, что это работает вообще, поскольку вы обычно не можете выполнять регулярные функции с помощью [co] (https://github.com/tj/co#yieldables). Коадж должен делать какую-то манипуляцию, которая позволяет вам выполнять регулярные функции. В любом случае, я на самом деле не вижу массив, который вы видите. Какую версию koa вы используете? – dvlsg