generator 函数和 promise 对象的结合使用
当使用generator函数进行“流程管理”或使用koajs
时候,往往需要使用异步操作。
1 | fun asyncF(){ |
这样就可以在generator
函数中使用promise
了。
在 koajs 中使用promise
var koa = require('koa'),
app = koa();
app.use(function *() {
var city = yield geolocation.getCityAsync(this.req.ip); //geolocation.getCityAsync是一个异步操作
var forecast = yield weather.getForecastAsync(city);//也是一个异步操作
this.body = 'Today, ' + city + ' will be ' + forecast.temperature + ' degrees.';
});
app.listen(8080);