下面是使用Sinon和Mocha进行测试的代码。每当我运行这些测试时,我都会得到以下内容
传递(747 is )8挂起,1失败1)客户显示订单,因为订单是空的“之前,每个”钩子“将显示没有订单项目:错误:超过500 is的超时。对于异步测试和钩子,请确保调用"done()“;如果返回承诺,则确保它已解决。
测试是通过的,直到我开始将承诺合并到图中,并使测试更加真实,即设置来处理异步调用。
我做错了什么,怎样才能通过考试?
tests.js
'use strict';
require("babel-register");
var chai = r
我在JavaScript做了一项关于承诺的研究。我很感兴趣,我可以将ECMAScript承诺与其他实现结合起来,例如jQuery $.Deferred。当Promises.all和jQuery $.Deferred合作得很好时,我感到很惊讶。我试图在jQuery源代码和CommonJS承诺/A规范中找到答案,但我仍然误解了为什么这段代码像我预期的那样工作(10秒后做console.log,而不是5秒):
var promise = new Promise(function (resolve, reject) {
setTimeout(function () {
res
我在AngularJS中使用Angular2 2风格的组件。在我的组件中,我有一个函数,它通过更改下拉列表的选项来更新GUI:
var ctrl = this;
async function updateOptions(node) {
var name = node.name;
let result = await MyService.getResult(name);
ctrl.options = result;
console.log(ctrl.options);
}
显示这些选项的对应
我总是与异步代码纠缠在一起,我不知道我的错误在哪里。
此代码从数据库中读取产品名称,并将它们放入untranslated数组中。之后,对数组进行迭代,每一项都被翻译,并在一个新的translated数组中推送。
SQL部件工作正常,但不幸的是,translated数组是空的。我正在使用和 npm软件包。
我怎么才能把这事做好?
var untranslated = [];
var translated = [];
var query = `select name from products`
new sql.ConnectionPool(db).connect().then(pool =&