deno写接口 比如oak如何设置接口超时时间?

deno写接口 比如oak如何设置接口超时时间?

理论上,使用 Promise.racesetTimeout 是不是就可以啊

  Promise.race([
      fetch(URL),
      new Promise(function(resolve,reject){
          setTimeout(()=> reject(new Error('request timeout')),2000)
      })])
      .then((data)=>{
          //请求成功
      }).catch(()=>{
          //请求失败
  });

这样吗,这种怎么感觉像前端写的。
我写接口比如:

const router = new Router();
router.get("/", async (ctx) => {
  Promise.race([
    fetch(URL),
    new Promise(function(resolve,reject){
        setTimeout(()=> reject(new Error('request timeout')),2000)
    })])
    .then((data)=>{
        //请求成功
    ctx.response.body = "start!!";
    }).catch(()=>{
        //请求失败
  });

})

上面这样套用promise是这样写接口超时吗

这无所谓前端后端,deno 就是直接使用的现有 web api,所以对前端更加友好。

node 的 api 更像是 linux/php/java,而 deno 的 api 更像是前端/浏览器。