var blah = require('wait.for');
var wait = require('wait.for/parallel-tests');
function testFunction(){
console.log('fiber start');
wait.miliseconds(10*1000);
console.log('fiber end');
};
console.log('app start');
blah.launchFiber(testFunction);
console.log('after launch');
当我尝试运行上面的代码时,我得到以下输出
app start
光纤启动
Z:\ nodeplayground \ node_modules \ wait.for \ waitfor.js:15
Fiber(function(){fn.apply(null,newargs)})。run(); //推出新纤维,
用args调用fn,this = null(strict)
^
TypeError:wait.miliseconds不是函数
在testFunction(Z:\ nodeplayground \ index.js:8:10)
在Z:\ nodeplayground \ node_modules \ wait.for \ waitfor.js:15:31
我做错了什么?。
我想要实现的主要功能如下
function testFunction2(){
function Innerfunction(){
setTimeout(function(){
console.log("hello");
},5000);
console.log("After setTimeout")
}
}
我希望上面的代码等待5秒并打印“hello”,之后“after setTimeout”。
答案 0 :(得分:0)
您尝试导入模块milliseconds
未导出的wait.for/parallel-tests
方法。
您必须在主文件中声明wait.milliseconds
函数(或将其包装在模块中以便重用)。
var wait = require('wait.for');
wait.timeout_callback = function(ms,callback){
setTimeout(callback,ms); //call callback(null,null) in ms miliseconds
}
wait.miliseconds = function(ms){
wait.for(wait.timeout_callback,ms);
}
function testFunction(){
console.log('fiber start');
wait.miliseconds(10*1000);
console.log('fiber end');
};
console.log('app start');
wait.launchFiber(testFunction);
console.log('after launch');