gpt4 book ai didi

javascript - 如何将回调传递给传递给 "vo"库的生成器?

转载 作者:数据小太阳 更新时间:2023-10-29 04:53:09 26 4
gpt4 key购买 nike

我试图了解回调的工作原理,因此我创建了一个函数并传递了第二个名为“callback”的参数,我在函数末尾用“callback(arr)”调用它。但是我收到一条错误消息:“回调不是函数”?你能告诉我我做错了什么吗?

更新

vo 是一个 nodejs 库,它采用生成器函数* () 并运行它的所有 yields 。它基本上是一种使用较少回调处理异步代码的方法(是的,我知道我也使用了回调,但这几乎是一个选择)。做完全相同事情的一个更流行的库是 co。 VO链接:https://github.com/matthewmueller/vo

var Nightmare = require('nightmare');
var vo = require('vo');

function* MyFunction(query, callback) {
arr = [];
for (i = 0; i < 1; i++) {
arr.push(yield Nightmare({
show: true
}).goto(`http://google.com`)
.inject('js', 'jquery-3.1.0.js')
.evaluate(() => {
var title;
title = 1
extend = 2
var img;
img = 3
var par;
par = 4
url = window.location.href;
var par_arr = [5, 5, 5, 5];


return {
title: title,
img: img,
par: par,
par_arr: par_arr,
url: url
}

}).end()
.catch(function(error, nightmare) {

console.error('Search failed:', error);
}))
}

callback(arr);

return arr;
}

vo(MyFunction)('query', (arr) => {
console.log(arr);
});

最佳答案

这在 my enviroment 中工作;

var vo = require('vo');

function* idMaker(query, params){

for (var i = 0; i < 5; i++) {
console.log(query);
}
params.callback("callback value");
return;
}

vo(idMaker)("param value",{callback: (value)=>console.log(value)} );

输出:

param value
param value
param value
param value
param value
callback value

我现在没有时间阅读“vo”文档来告诉你原因,但我看到了一个例子 here .

关于javascript - 如何将回调传递给传递给 "vo"库的生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39316296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com