小编1st*_*eap的帖子

mypy:无类型装饰器使函数“my_method”无类型

当我尝试使用在另一个包中定义的装饰器时, mypy 失败并显示错误消息Untyped decorator makes function "my_method" untyped。我应该如何定义我的装饰器以确保它通过?

from mypackage import mydecorator

@mydecorator
def my_method(date: int) -> str:
   ...
Run Code Online (Sandbox Code Playgroud)

python python-decorators mypy

19
推荐指数
1
解决办法
2万
查看次数

Express 中的回调与等待性能

人们说这async/await只是为 Promise 编写回调的另一种方式。但是,我觉得它们似乎不可互换;事实上,回调在 Express 中会更好,因为它会立即将结果返回给用户。这样对吗?

在下面的示例中,假设我们不关心 的结果doSomethingAsync(),但想立即重定向。在这里,我们使用await.

router.get('/register', async (req, res) => {
    res.redirect('/')           
    await doSomethingAsync()
    console.log(1)
}

router.get('/', (req, res) => {
    console.log(2)
    ...
}
Run Code Online (Sandbox Code Playgroud)

这将打印出1, then 2,这意味着/register除非异步函数完成,否则我们将无法退出处理程序和重定向。

在下面的版本中,我们在then.

router.get('/register', (req, res) => {
    res.redirect('/')           
    doSomethingAsync().then(() => {
        console.log(1)
    })
}

router.get('/', (req, res) => {
   console.log(2)
   ...
}
Run Code Online (Sandbox Code Playgroud)

这将打印出2, then 1,这意味着我们可以立即退出并重定向用户。第二种方式不是更好的性能吗?或者它们实际上是一样的?

asynchronous callback node.js express web

5
推荐指数
1
解决办法
3022
查看次数

找不到 Express.js 路由

在这个简单的快速应用程序中,我的路线模块出现了奇怪的行为。

根页面“/”有效,但我收到“/login”的“未找到”错误。但当我执行 app.get('/login', auth) 而不是 app.use('/login', auth) 时,它会起作用。任何帮助表示赞赏!

应用程序.js

const express = require('express');
const app = express();
const port = process.env.PORT || 3000
const path    = require("path");
const bodyParser = require('body-parser')
const mongoose = require('mongoose');

const auth = require('./routes/auth');
const index = require('./routes/index');

mongoose.connect("mongodb://localhost/dev");
// Get Mongoose to use the global promise library
mongoose.Promise = global.Promise;
//Get the default connection
var db = mongoose.connection;
//Bind connection to error event (to get notification of connection errors)
db.on('error', console.error.bind(console, 'MongoDB connection error:')); …
Run Code Online (Sandbox Code Playgroud)

javascript routes node.js express

2
推荐指数
1
解决办法
8977
查看次数