为了账号安全,请及时绑定邮箱和手机立即绑定

创建后,可以将.then添加到承诺中吗?

创建后,可以将.then添加到承诺中吗?

慕桂英3389331 2021-05-04 13:20:02
答应让我感到困惑。我正在尝试提供模拟数据服务来模仿axios。我的模拟put调用将一个targetUrl传递给_fetch它,然后查看它是否是有效的URL并返回带有延迟的.resolve的新Promise。const _returnResponse = (mockData, time = 0) => new Promise((resolve) => {    setTimeout(() => {        resolve(mockData);    }, time);});或带有延迟的.reject的新Promiseconst _returnError = (time = simulatedDelay) => {    const returnValue = new Promise(((resolve, reject) => {        setTimeout(() => {            reject(new Error('error'));        }, time);    }));    return returnValue;};但是,当我进行模拟put调用时,这将返回模拟数据,调用方法将其解释为成功,并在控制台中登录.then    put(target, putBody) {        const returnValue = _fetch(target, simulatedDelay)        returnValue.then(response => _console('PUT', target, response, putBody));        return returnValue;    },但是使用无效的目标控制台记录未捕获的错误或这可以正确处理错误,但是控制台记录了未定义的响应    put(target, putBody) {        const returnValue = _fetch(target, simulatedDelay).then(response => _console('PUT', target, response, putBody));        return returnValue;    },这是调用方法:    saveStuff({ commit, state }, newStuff) {        //other code        return this.$mockAxios.put(url, putBody)            .then((response) => {                return response;            });    },我觉得自己已经完全丢失了一些东西,并且已经研究了几个小时,但仍然没有得到。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信