首页 > 解决方案 > 如何模拟我的 api 调用函数中的延迟?

问题描述

我有一个使用 api 发布请求更新用户的功能。后端还没有完成。因此,该函数将始终返回错误。为了测试加载和错误状态,我想在返回结果之前临时添加一个假延迟。怎么做?这是功能:

const updateProfile = async (form) => {
  try {
    const res = await api.post("/update-profile", form);
    return res;
  } catch (err) {
    throw new Error("error.unknown");
  }
};

写这个没有用:

const updateProfile = async (form) => {
  try {
    let fakeCallDone = false
    setTimeout(()=> fakeCallDone = true, 2000)
    const res = await api.post("/update-profile", form);
    fakeCallDone && res;
  } catch (err) {
    throw new Error("error.unknown");
  }
};

标签: javascriptasynchronoussettimeout

解决方案


您可以创建一个简单的睡眠功能。

const sleep = ms => new Promise(
  resolve => setTimeout(resolve, ms));

然后像这样使用

 await sleep(2000);

推荐阅读