小编nin*_*alt的帖子

如何在 DRF 中使用基于异步函数的视图?

由于 Django 现在支持异步视图,我试图将包含许多基于函数的视图的代码库更改为异步视图,但由于某种原因它不起作用。

@api_view(["GET"])
async def test_async_view(request):
    ...
    data = await get_data()
    return Response(data)
Run Code Online (Sandbox Code Playgroud)

当我向此端点发送请求时,收到一条错误消息:

AssertionError: 期望从视图返回 Response,HttpResponse或 ,但收到了HttpStreamingResponse<class 'coroutine'>

DRF 还不支持异步视图吗?我可以采取其他替代方法来使其正常工作吗?

python django asynchronous django-rest-framework

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

如何在gorm中插入空外键?

我在 gorm 中有一个事务表,如下所示:

type Transaction struct {
    gorm.Model
    UserID      string `gorm:"index"`
    TradeID     int 
    Trade       Trade
    ExternalID  string
    Amount      float32
    Type        string
    Description string
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试插入一笔没有交易的交易:

DB.Create(&Transaction{UserID: "user-1", Type: "unblock", Amount:  50})
Run Code Online (Sandbox Code Playgroud)

这会失败,因为事务结构将键的 int 值默认为 0,因此插入在数据库级别失败,因为我没有 id = 0 的交易。

我怎样才能做到这一点?

postgresql go go-gorm

13
推荐指数
1
解决办法
6693
查看次数

如何在CRA项目中用parcel替换webpack?

我有一个CRA项目设置,它工作正常.但是我正在考虑将它弹出并用Parcel.js替换Webpack.弹射后,我该怎么办?是index.js该文件src的文件夹,我需要对地块的唯一文件?

webpack create-react-app parceljs

9
推荐指数
1
解决办法
1508
查看次数

Java递归中的堆栈溢出错误

我正在尝试实现一个返回200万以下所有素数之和的代码.我有一个isPrime(int x)方法,如果数字是素数,则返回true.这里是:

public static boolean isPrime(int x) {

        for (int i = 2; i < x; i++) {

            if (x % i == 0) {
                return false;
            }

        }
        return true;

    }
Run Code Online (Sandbox Code Playgroud)

另一种方法,我试图以递归方式实现,只能工作到一定数量,超过该数字,我得到堆栈溢出错误.我得到的最高代码是10,000.

这里是:

public static int sumOfPrimes(int a) {

    if (a < 2000000) {  //this is the limit

        if (isPrime(a)) {
            return a + sumOfPrimes(a + 1);

        } else {
            return sumOfPrimes(a + 1);
        }

    }
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

那么为什么当数字变大时我会得到堆栈溢出错误,我该如何处理呢?另外,你通常如何处理为这么大的数字编写代码?IE:像这样的正常数字操作但是对于更大的数字?我递归地写了这个,因为我认为它会更有效但它仍然无法工作.

java stack overflow

8
推荐指数
1
解决办法
1875
查看次数

如何阻止 async/await 在函数中冒泡?

假设我有一个函数 A,它使用函数 B,而函数 B 使用 C,等等:

A -> B -> C -> D and E

现在假设函数 D 必须使用async/await。这意味着我必须先使用async/await函数的调用C,然后再使用函数的调用B,依此类推。我知道这是因为它们相互依赖,如果其中一个正在等待函数解析,那么它们都必须等待函数解析。我可以采取哪些替代方法来使其更清洁?

node.js promise async-await

7
推荐指数
1
解决办法
1690
查看次数

我是否需要 IPFS 守护进程从浏览器上传文件?

我正在使用 IPFS 处理这个项目,我正在尝试创建一个网站,允许用户将文件直接从浏览器上传到 IPFS。我的目标是该网站将成为一个前端网站,但是每当我将文件添加到 IPFS 并检查它的哈希值时,https://gateway.ipfs.io/ipfs/hash-here什么都没有发生,这让我认为这些文件可能没有上传到 IPFS,因为我没有运行它在我的本地机器上。这样对吗?

const Buffer = require('safe-buffer').Buffer;

export default function uploadFiles(node, files) {

    let reader = new FileReader();

    reader.onloadend = () => {

        let byteData = reader.result.split('base64,')[1];
        let fileData = Buffer.from(byteData);

        node.files.add(fileData, (err, res) => {

            if (err) {
                throw err
            }

            let hash = res[0].hash
            console.log(hash);  ///////prints a hash that isnt visible on 
                                //gateway

            node.files.cat(hash, (err, res) => {
                if (err) {
                    throw err
                }
                let data = ''
                res.on('data', (d) => { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs ipfs

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

React + Firebase 部署需要清除缓存

我刚刚部署了一个非常基本的 React 应用程序,该应用程序是我使用它创建的create-react-app,然后构建了该应用程序并通过 Firebase CLI 进行了部署。当我更改应用程序中的某些内容然后再次构建并部署它时,刷新页面时无法在网站上看到更改。经过一番故障排除后,我发现这是一个缓存问题,浏览器只使用旧版本的文件,而不是重新加载新版本。这是有道理的,因为当我清除缓存(或以隐身模式打开窗口)时,我看到了我所做的更改。

我的问题是这在现实世界的应用程序中如何工作?您不能期望或依赖用户清除其缓存。

caching firebase reactjs

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

prometheus与正则表达式查询不匹配

我正在尝试在grafana中编写一个普罗米修斯查询,它将选择 visits_total{route!~"/api/docs/*"}

我要说的是,它应该选择路由不匹配/api/docs/*(正则表达式)但不起作用的所有实例。它实际上只是选择所有实例。我试图通过这样做来强迫它选择其他人: visits_total{route=~"/api/order/*"} 但是它没有返回任何东西。我在Prometheus 的查询基础页面中找到了这些运算符。我在这里做错了什么?

grafana prometheus

5
推荐指数
2
解决办法
4035
查看次数

Haskell中未解决的重载错误

getNext a = if even a then a/2 else (3*a)+1 
Run Code Online (Sandbox Code Playgroud)

由于某种原因,这行代码返回一个未解决的重载错误.

Main> getNext 13
ERROR - Unresolved overloading
*** Type       : (Fractional a, Integral a) => a
Run Code Online (Sandbox Code Playgroud)

我做错了什么或我错过了什么?我很久没有使用过Haskell所以我可能忘记了一些事情.

haskell overloading

4
推荐指数
1
解决办法
600
查看次数

如果另一个 goroutine 崩溃了,如何保持 goroutine 运行?

我一直在试图找到一些东西来回答这个问题,但我找不到任何谈论它的东西。

假设我在 Go 中有一个函数,如下所示:

func main() {
    // assume this wrapped in a waitgroup or something 
    // so that it doesnt exit
    go queue.ConsumeAndDoSomething()
    go api.StartServer()
}
Run Code Online (Sandbox Code Playgroud)

我这里有两个 goroutine,它们做完全不同的事情,理想情况下,如果另一个 goroutine 崩溃/恐慌,一个应该继续运行。如果队列操作失败,API 服务器应该会受到影响,反之亦然。

我不确定这是否可能(甚至推荐)。有没有一种干净的方法可以做到这一点,或者一旦 Goroutine 发生恐慌,整个程序应该退出吗?

concurrency go goroutine

3
推荐指数
1
解决办法
3956
查看次数