小编pir*_*x22的帖子

<audio> 上的 Next.js loaddata 事件未触发

我试图找出为什么 loaddata/loadedmetadata 事件没有在我的应用程序中触发。事实上,有时它确实会火,但不一致。我怀疑这里发生了某种竞争条件,但经过大量的尝试和错误以及相当多的挫折后,我已经没有想法了。

所以,这个想法很简单。我有一个<audio>元素,我想在加载它时运行一些逻辑。

当我在非 Nextjs React 应用程序中尝试时,这似乎有效。示例在这里

但是,当我在本地 Next.js React 应用程序中运行相同的操作时,我观察到上述行为,所以我怀疑这可能是 nextjs 特定的?

这可以通过以下方式最低程度地重现:

  1. 跑步npx create-next-app nextjs-blog --use-npm --example "https://github.com/vercel/next-learn-starter/tree/master/learn-starter"

  2. 将现有的替换index.js为:

export default function Home() {

  const handleMetadata = () => {
    alert("hi")
  }

  return (
    <div className="container">
      <main>
        <audio
          id="audio"
          onLoadedData={handleMetadata}
          onLoadedMetadata={handleMetadata}
          src="https://www.soundhelix.com/examples/mp3/SoundHelix-Song-2.mp3"
        />
      </main>
    </div>
  )
}

Run Code Online (Sandbox Code Playgroud)
  1. 反复刷新浏览器窗口

html5-audio reactjs next.js

6
推荐指数
1
解决办法
1443
查看次数

Spark collect_list 并限制结果列表

我有以下格式的数据框:

name          merged
key1    (internalKey1, value1)
key1    (internalKey2, value2)
...
key2    (internalKey3, value3)
...
Run Code Online (Sandbox Code Playgroud)

我想要做的是按 对数据框进行分组name,收集列表并限制列表的大小。

这是我分组name和收集列表的方式:

val res = df.groupBy("name")
            .agg(collect_list(col("merged")).as("final"))
Run Code Online (Sandbox Code Playgroud)

结果数据框类似于:

 key1   [(internalKey1, value1), (internalKey2, value2),...] // Limit the size of this list 
 key2   [(internalKey3, value3),...]
Run Code Online (Sandbox Code Playgroud)

我想要做的是限制每个键生成的列表的大小。我尝试了多种方法来做到这一点,但都没有成功。我已经看到一些建议使用 3rd 方解决方案的帖子,但我想避免这种情况。有办法吗?

scala limit dataframe apache-spark

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

AWS Cognito - 为每个用户启用 MFA

尝试在我的应用程序和用例中使用 Cognito 设置身份验证需要基于每个用户的 MFA。也就是说,在创建相应的用户池时,我已将 MFA 配置为Optional并选择TOTP为潜在的 MFA 选项。到目前为止一切顺利,用户池就位后,我正在创建一个用户(创建后),我尝试在 Kotiln 应用程序中将首选 MFA 方法设置为 TOTP,因此下次用户登录时,他收到设置基于 TOTP 的 MFA 的提示。

根据API文档,这应该是可能的,如下所示:https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserMFAPreference.html

代码快照如下所示:

val cognitoClient: CognitoIdentityProviderClient = CognitoIdentityProviderClient.builder()
      .region(Region.US_EAST_1)
      ...
      .build()

    val mfaPreferenceRequest = AdminSetUserMfaPreferenceRequest.builder()
      .userPoolId("us-east-1-some-pool-id")
      .username("test")
      .softwareTokenMfaSettings(
        SoftwareTokenMfaSettingsType.builder()
          .enabled(true)
          .preferredMfa(true)
          .build()
      ).build()

    cognitoClient.adminSetUserMFAPreference(mfaPreferenceRequest)
Run Code Online (Sandbox Code Playgroud)

当调用时,我收到以下异常/堆栈跟踪

InvalidParameterException: User does not have delivery config set to turn on SOFTWARE_TOKEN_MFA.
Run Code Online (Sandbox Code Playgroud)

关于可能导致此问题的任何线索?

amazon-web-services amazon-cognito multi-factor-authentication

5
推荐指数
0
解决办法
750
查看次数

动态指针数组

我有一个指向字符串的指针数组。

char **array; 
Run Code Online (Sandbox Code Playgroud)

我以这种方式声明它而不是 char *array[N] 因为这个数组不会有静态数量的元素。

以这种方式声明数组,每次添加新元素(指向字符串的指针)时,我可能都必须重新分配它的大小。

int main(void)
{
    char **array;

    char *word = "lolol";
    char *word2 = "blabla";

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

你能给我一个关于我应该如何在数组中“创建空间”以存储指向这些字符串的指针的例子吗?

c arrays pointers c-strings dynamic-memory-allocation

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

是或否作为没有IF或CASE用法的sql查询的结果

有没有办法在不使用流量控制运算符的情况下进行查询并返回"是"或"否"作为答案?

我认为唯一的解决方案是:

select 'yes' as answer 
from blabla
where blabla
Run Code Online (Sandbox Code Playgroud)

但这当然只有在查询找到一些结果时才有效.

mysql sql

0
推荐指数
1
解决办法
2226
查看次数