如何定义 4 个函数来适应这两个测试(javascript/q)
How to define 4 functions to fit these two tests (javascript/q)
当我找到q时,我在它的描述中发现,有这样的演示代码:
step1(function (value1) {
step2(value1, function(value2) {
step3(value2, function(value3) {
step4(value3, function(value4) {
// Do something with value4
console.log("finised: " + value4)
});
});
});
});
和
Q.fcall(step1)
.then(step2)
.then(step3)
.then(step4)
.then(function (value4) {
// Do something with value4
console.log("finished in q: " +value4);
}, function (error) {
// Handle any error from step1 through step4
console.log("err: " + err);
})
.end();
我想知道,如何定义 4 个函数step1/step2/step3/step4
以适应这两个测试?
我试过了:
function step1(callback) { console.log("step1"); return "abc"; };
function step2(str, callback) { console.log("step2"); return str; };
function step3(str, callback) { console.log("step3"); return str; };
function step4(str, callback) { console.log("step4"); return str; };
和
function step1(callback) { console.log("step1"); return callback("abc"); };
function step2(str, callback) { console.log("step2"); return callback(str); };
function step3(str, callback) { console.log("step3"); return callback(str); };
function step4(str, callback) { console.log("step4"); return callback(str); };
并希望它打印:
step1
step2
step3
step4
finised: abc
step1
step2
step3
step4
finised in q: abc
但两者都不起作用。
你通过回调返回
function step1(callback) { console.log("step1"); callback("abc"); };
function step2(str, callback) { console.log("step2"); callback(str); };
function step3(str, callback) { console.log("step3"); callback(str); };
function step4(str, callback) { console.log("step4"); callback(str); };
相关文章:
- javascript测试是否存在两个标志中的任何一个
- 在Javascript中截断一个字符串,混淆了最后两个测试字符串
- 测试两个版本的 json 架构是否向后兼容
- 测试两个变量是否包含一些数据 JavaScript
- Protractor和Angular:如何在应用程序中一个接一个地测试两个页面
- 对两个不同的输入重复一组摩卡测试
- 如何定义 4 个函数来适应这两个测试(javascript/q)
- 如何在 JSON 字符串中选择两个测试对象并将它们映射到我的接口
- 两个文件使用超级测试与摩卡导致 EADDRINUSE
- 有没有可能比平方距离算法更快地测试两个圆的交点
- RegExp测试有两个变量:可能
- 如何测试两个HTML元素或jQuery选择器之间的等价性
- 聊天应用程序-测试两个客户端之间的交互
- 对照测试两个句子的起始字符
- 从两个javascript数组创建一个简单的测试
- 测试是否至少选中了两个复选框,然后将值插入数据库
- 用jasmine对位于不同模块的两个服务进行单元测试
- Jasmine单元测试AngularJS工厂的两个依赖项($http和另一个返回promise的工厂)
- 当两个YUI实例使用test时,为什么YUI测试控制台被忽略?
- 如何用JavaScript测试两个对象是否相同