如何在javascript中获取异步函数的回调

时间:2017-01-03 01:00:02

标签: javascript

绝对是一个重复的问题,但我无法在google / stackoverflow / freecodecamp聊天中找到答案。

如何获取异步函数的回调?

import { should } from 'chai';
import { Customer } from '../../data/models';

describe('Customers Server', () => {
  it('Create a customer', async () => {
    const createCustomer = await Customer.create({ email: 'test@gmail.com' });
    should.exist(createCustomer);
  });
});

createCustomer是函数。我研究的所有内容都表明,createCustomer就是回调......但事实并非如此。它返回函数.create。我在哪里得到回调?

这是我发现的错误信息:

For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

here's an example of using done()(有一些名为' fooBar'),但我不确定如何在我的测试中使用它。

更新尝试@bhantol的建议......(通过异步作为参数完成,然后在'之后调用done()

it('Create a customer', async (done) => {
  const createCustomer = await Customer.create({ email: 'test@gmail.com' });
  should.exist(createCustomer);
  done();

在终端中给出相同的错误:

Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

0 个答案:

没有答案