小编s97*_*712的帖子

打字稿如何从未定义的属性转换为可选属性

我有这样的代码

interface Test {
  prop: number | undefined
}
Run Code Online (Sandbox Code Playgroud)

我想将未定义的属性转换为可选属性,例如

type ToOptional = ???
ToOptional<Test>
/** transform result
{
  prop?: number
}
*/
Run Code Online (Sandbox Code Playgroud)

我应该如何定义 ToOptional?

编辑:

interface Test {
  prop1: number | undefined;
  prop2: number;
}

type ToOptional = ???
ToOptional<Test>
/** transform result
{
  prop1?: number
  prop2: number
}
*/
Run Code Online (Sandbox Code Playgroud)

typescript

12
推荐指数
1
解决办法
2089
查看次数

如何使用将引用作为回调的 Rust 异步 fn?

async fn返回一个实现 的匿名类型Future,因此如果我们想将它用作回调,我们需要将返回值转换为一个 trait 对象。

我试图编写一个函数来做到这一点,但我遇到了一些终身问题。

async fn将返回所有参数的生命周期,因此回调的签名也需要。如何将生命周期添加到回调的返回值中?

use futures::future::{Future, FutureExt, LocalBoxFuture};

type Context = ();
type AsyncCb = Box<dyn for<'r> FnOnce(&'r Context) -> LocalBoxFuture<'r, ()>>;

fn normalize_async_cb<Fut: Future<Output = ()>>(f: for<'r> fn(&'r Context) -> Fut) -> AsyncCb
//                                                    how to add 'r for Fut?  ^^^
{
    let cb = move |ctx: &Context| f(ctx).boxed_local();
    Box::new(cb)
}
Run Code Online (Sandbox Code Playgroud)

rust async-await

11
推荐指数
1
解决办法
1692
查看次数

postgresql 如何向用户授予在架构中执行函数的权限

我有一个名为 的函数schema.func,我想授予schema.func用户执行的权限。

我尝试使用

GRANT EXECUTE ON schema.func to my_user;
Run Code Online (Sandbox Code Playgroud)

但它不起作用。当我执行此功能时,它会引发错误:

模式 ex 的权限被拒绝

我知道我可以使用GRANT USAGE ON SCHEMA,但这不是我想要的,我只需要特定功能的权限,而不是架构中的所有功能。

我可以这样做吗?

sql postgresql

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

标签 统计

async-await ×1

postgresql ×1

rust ×1

sql ×1

typescript ×1