首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >koa异步等待与ajax一起使用时不工作,并承诺

koa异步等待与ajax一起使用时不工作,并承诺
EN

Stack Overflow用户
提问于 2017-09-09 10:11:57
回答 1查看 479关注 0票数 0

我使用koa作为rest后端,但当使用axios调用URL时,无法使路由和请求/响应正常工作。

server.js

代码语言:javascript
复制
const route = require('koa-route');
const serve = require('koa-static');
const Koa = require('koa');
const app = new Koa();
const path = require('path');
const bodyParser = require('koa-bodyparser');
const Datastore = require('nedb'),
      db = new Datastore({
          filename: __dirname +'/storage.db' ,
          autoload: true
      });
// something 
app.use(bodyParser());

app.use(serve(__dirname + '/dist'));

app.use(route.get('/api/projects', async function (next) {
    let projects = [];
    await db.find({}, function (err, docs) {
        projects = docs;
    });

    this.body = projects;
}));

const PORT = process.argv[2] || process.env.PORT || 3000;
app.listen(3000);

当我使用axios向/api/project发出请求时,我得到和空数组

从我的package.json

代码语言:javascript
复制
"scripts": {
    "start": "nodemon server.js --exec babel-node --presets es2015,stage-2"
  },
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-09 11:12:35

你把承诺和回调混为一谈,这很可能导致你的问题。

坚持使用承诺:

代码语言:javascript
复制
app.use(route.get('/api/projects', async function (next) {
  let projects = await db.find({});
  this.body = projects;
}));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46129539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档