【问题标题】:How to wait for event request of Rudderstack JavaScript SDK?如何等待 Rudderstack JavaScript SDK 的事件请求?
【发布时间】:2021-08-13 23:23:16
【问题描述】:

我想在 track 事件或 rudderstack 触发的任何其他事件完成后重定向用户。

正如我在 track 事件中测试的那样,它不会返回承诺。

如何等待请求结束后再进行重定向?

下面是我正在做的一个例子:

// import    
import { track, load, ready, identify } from 'rudder-sdk-js';
[...]

await load(write_key, data_plane_url)

await ready(async () => {
  await identify(hashedId, userInfo);

  await track('ORDER_APPROVED');    
});

history.push('/some-page')

我正在将它与 React btw 一起使用。

【问题讨论】:

    标签: javascript reactjs promise pipeline rudderstack-sdk


    【解决方案1】:

    您不能在根文件中使用await,它必须包含在async Function

    将其添加到useEffetcomponentdidmount 函数中并从那里处理它。

    // useEffect inside a tsx or js file 
    import {useEffect, useState} from 'react'
    const App(){
    var [userName, setUserName] = useState("")
    
    const loadUserName= async()=>{
    
     var us =  await // fetch operation
      
      await setUserName(us);
    }
    
    useEffect(()=> {
        loadUserName();
    },[]) // componentDidMount
    
    return (<p>{userName}</p>)
    }
    

    【讨论】:

    • 你能举个例子吗?没看懂
    • 更新了我的答案并添加了一个小例子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 2015-02-21
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多