- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在测试以下代码行。
router.get('/testAPI', function(req, res, next){
console.log('middleware 1');
next();
}, function(req, res, next) {
console.log('middleware 2');
next();
}, function(req, res){
res.send({ SecretData: 'abc123' });
});
它按预期工作。但是,当尝试添加时:
console.log('middleware 1');
next('route');
在中间件 1 中,这样我就可以跳过中间件 2,但我在路由上收到 404 错误:无法 GET/api/testAPI
有人对为什么会发生这种情况有任何建议/想法吗?
事实上,我相信它重定向到我的“/”路由器而不是我的“/api”路由器,因为当我将默认路由添加到“/”路由器中时,我得到的是该路由而不是 404 错误。
最佳答案
You can provide multiple callback functions that behave just like middleware, except these callbacks can invoke next('route') to bypass the remaining route callback(s)
换句话说,通过调用next('route')
,您将告诉 Express 不要理会您为该路由传递的其余回调。
这与中间件回调和路由处理程序回调实际上是同一件事有关,Express 无法知道您传递的最后一个回调实际上是您想要调用的回调。
解决此问题的一种方法是将路由的中间件部分与路由的路由处理部分分开:
app.get('/testAPI', function(req, res, next) {
console.log('middleware 1');
next('route');
}, function(req, res, next) {
// skipped...
console.log('middleware 2');
next();
});
app.get('/testAPI', function(req, res) {
res.send({ SecretData: 'abc123' });
});
关于node.js - ExpressJS next ('route' )打破了我的路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29969227/
这是主函数,其中还调用了 9 个函数。我将向您展示另一个函数,以便您了解我的目标是什么。 int main() { char B[rows][columns]; char answer
每当我使用 preventDefault() 时,我通常将它放在事件处理程序的顶部,如下所示: $('#foo').on('click', function(e){ e.preventDefaul
我想要实现的是用户输入一个值,然后输入一个测量值。然后将其放置为最小、最大或介于两者之间。保留输入了多少个值的计数。以及以米为单位的所有值的总和。 程序最初可以运行,但是当我输入换行符时,程序会重复同
我无法打破 while 循环。 "; $quizslots = mysql_query("SELECT * FROM quiz_slots WHERE `quizid`=$quizsectio
所以我将一个模板化的二叉树字典实现为一个继承自抽象字典类的类,我的添加函数有一个我无法弄清楚的问题。 基本上,我的树的节点具有键和值,以及指向其父节点、左子节点和右子节点的指针。节点的代码是 stru
我的代码应该在内容之间放置一个横幅,但它正在循环播放横幅。我需要它只显示一个横幅。我试过使用 return false;,就像这个例子一样,但它没有用: $(".newsitem_text").con
我有一个 Storyboard指定用于登录我的应用程序。我将其嵌入到 UINavigationController 中。登录到我的应用程序(并过渡到新的 Storyboard)后,我想“脱离”这个导航
我想知道是否可以在不使用 MCU 复位引脚上的外部复位按钮的情况下中断 while 循环并从特定位置重新启动代码。 下面是当“if”语句为真时我想中断的 while 循环,我正在使用 LCD,并想返回
所以我有这个问题,如果数组中的值高于输入值,它应该做一些事情然后停止循环并且不要触及数组中的剩余值。这是到目前为止的代码: const percentages = []; let enteredVal
我想在“div2”中打断长字,div2 和 div3 的宽度都不能大于父宽度(即 150px)。唯一有效的是 word-break: break-all 但这也会打断短词。 #div1{ di
我的数据库中有 3 个表。 PARENT_A 有一个“ID”主键列。 PARENT_B 有一个“ID”主键列。 CHILD 具有“PARENT_A_ID”和“PARENT_B_ID”外键列。它还有一个
在这个非常人为的示例中,我有一个包含 3 个元素的数组,我使用 .each() 对其进行循环。方法。 var vals = $w('foo bar baz'); vals.each( function
非常简单的示例代码(仅用于演示,没有任何用处): repeat { while (1 > 0) { for (i in seq(1, 100)) { break # usual
我有以下 promise : var aggregatePromise = () => { return new Promise((resolve, reject) => { Ei
我想检测表单的“输入”键而不让表单被提交。我如何打破这种关联? document.forms[0].onkeypress = function (event) { e = window.eve
这里是新手。我有一个 Ajax 函数,可以循环 3 个不同的请求。但是,如果第一个请求失败,我希望其他请求终止。我尝试放入“break”语句,但收到“非法的break语句”错误,我猜测是因为它不是直接
我有一个 Vector的 Vector不同长度的 s W .这些最后的向量包含 0 到 150,000 之间的整数,步长为 5,但也可以为空。我正在尝试计算每个向量的经验 cdf。我可以像这样计算这些
我想知道如何正确地打破 JS 中的 promise 链。 在这段代码中,我首先连接到数据库,然后检查集合是否已经有一些数据,如果没有则添加它们。不要关注一些 actionhero.js 代码..这里并
我有一个 Vector的 Vector不同长度的 s W .这些最后的向量包含 0 到 150,000 之间的整数,步长为 5,但也可以为空。我正在尝试计算每个向量的经验 cdf。我可以像这样计算这些
您可以使用 CompletableFuture 链接运行 block ,如下所示: CompletableFuture .supplyAsync(block1) .thenApply(
我是一名优秀的程序员,十分优秀!