jjzjj

callback

全部标签

javascript - Node.js - 回调参数

我目前正在学习Node和JavaScript中的回调,但我对以下内容感到困惑:varrequest=require('request');request('http://www.google.com',function(error,response,body){if(!error&&response.statusCode==200){console.log(body)//ShowtheHTMLfortheGooglehomepage.}})我的问题是:请求函数如何知道回调中的每个参数/参数是什么?因为我可以用两个参数有效地调用函数回调并跳过错误?例如,该函数如何知道传递的第一个参数是响

javascript - 如何知道 npm `unzip` 模块何时完成解压缩文件?

我正在使用npm的unzip模块来提取zip存档的内容。我需要知道它何时完成提取以及文件已完全写入磁盘。我的代码:fs.createReadStream('master.zip').pipe(unzip.Extract({path:'gitdownloads/repo'}));我尝试过的:我的第一个想法是我可以接入流并监听完成事件,但是unzip只接受输入:它不会返回另一个流。我还查看了unzip模块是否有“完成”回调。运气不好。 最佳答案 来自githubREADMEExtractemitsthe'close'eventoncet

JavaScript:如何将匿名函数作为函数参数传递?

我想编写一个接受匿名函数作为参数的函数。例如:run('param1',function(){alert('executethis');});functionrun(param1,callback){//nowexecutethecallbackparameterasafunction}我怎样才能实现这样的目标? 最佳答案 callback()会调用它。如果您需要提供上下文,请执行callback.apply(this,arguments)。当您使用.apply时,请注意当前的执行上下文,基本上知道this将引用什么,否则如果您提供

Javascript:构造函数中的回调

我正在尝试为一个对象编写OOjavascript,该对象具有昂贵的初始化过程,完成后会回调一个函数。问题在于调用者需要在回调例程中使用同一对象的函数,而该对象尚不存在://ctorforfooobjectfunctionfoo(callback){//doslowinitializationhere..//callbackwhendonecallback();};foo.prototype=function(){return{//doStuffmethoddoStuff:function(){alert('stuffdone');}};}();//instantiatethefooob

javascript - 类型错误 [ERR_INVALID_CALLBACK] : Callback must be a function

我想制作一个脚本来向angularwebpack应用程序添加新规则,如下所示。有时代码会部分执行,有时会出错。constfs=require('fs');constcommonCliConfig='node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/common.js';constpug_rule="\n{test:/\\.pug$/,loader:['raw-loader','pug-html-loader']},";varconfigText="";fs.re

javascript - 并行 API 请求的异步模块错误

我是node.js的初学者,现在我正在尝试获取一些API的结果。我正在使用异步模块(https://github.com/caolan/async)来并行处理请求,以便对其进行优化。问题是代码返回错误,每次都指向不同API调用中的不同行(“callback(err,data)”行)这是错误的:if(called)thrownewError("Callbackwasalreadycalled.");^Error:Callbackwasalreadycalled.我正在使用以下函数来请求API:functiongetData(s,apiURL,getURL,callback){varht;

javascript - Node/Express 生成一次性路由/链接/下载?

我将如何在nodeJS或Express中创建一次性下载链接?我正在尝试找到实现此目的的最简单方法。到目前为止,我的想法是:使用fs流读取然后删除文件或者以某种方式生成一个链接/路由,一旦单击下载按钮,该链接/路由就会被删除这些实现是否可行?有没有更简单的方法?任何帮助或示例代码将不胜感激!-谢谢 最佳答案 检查这个简单的实现:您将下载信息存储在一个文件中。文件名是下载sessionID。文件内容为要下载文件的真实路径。使用这三个函数来管理下载session的生命周期:varfs=require('fs');varcrypto=req

javascript - 设置回调数组并尝试使用数组索引作为回调中的值

当我以这种方式设置回调数组时,我在对话窗口中得到20个所有回调。我想改为获取数组中的索引。这可能吗?调用回调的函数期望回调有一个参数。我不控制回调的调用者,因为它是外部库的一部分。感谢您的帮助。for(vari=0;i 最佳答案 因为i在函数被调用时被评估,你需要在新的函数执行中限定i的值,以保留你期望的值.//returnsafunctionthatclosesaroundthe`current_i`formalparameter.varcreateFunction=function(current_i){returnfuncti

javascript - Node.js 的异步调用和递归

我希望在递归函数完全完成时执行回调,该函数可以持续不确定的时间量。我正在为异步问题而苦苦挣扎,希望能在这里得到一些帮助。使用request模块的代码如下:varstart=function(callback){request.get({url:'aaa.com'},function(error,response,body){varstartingPlace=JSON.parse(body).id;recurse(startingPlace,callback);});};varrecurse=function(startingPlace,callback){request.get({ur

javascript - 避免nodeJs中的回调 hell /将变量传递给内部函数

这是我想简化的示例:exports.generateUrl=function(req,res){varid=req.query.someParameter;varquery=MyMongooseModel.findOne({'id':id});query.exec(function(err,mongooseModel){if(err){//dealwithit}if(!mongooseModel){generateUrl(Id,function(err,text,url){if(err){res.status(HttpStatus.INTERNAL_SERVER_ERROR).send