答應(yīng)讓我感到困惑。我正在嘗試提供模擬數(shù)據(jù)服務(wù)來模仿axios。我的模擬put調(diào)用將一個(gè)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;};但是,當(dāng)我進(jìn)行模擬put調(diào)用時(shí),這將返回模擬數(shù)據(jù),調(diào)用方法將其解釋為成功,并在控制臺(tái)中登錄.then put(target, putBody) { const returnValue = _fetch(target, simulatedDelay) returnValue.then(response => _console('PUT', target, response, putBody)); return returnValue; },但是使用無效的目標(biāo)控制臺(tái)記錄未捕獲的錯(cuò)誤或這可以正確處理錯(cuò)誤,但是控制臺(tái)記錄了未定義的響應(yīng) put(target, putBody) { const returnValue = _fetch(target, simulatedDelay).then(response => _console('PUT', target, response, putBody)); return returnValue; },這是調(diào)用方法: saveStuff({ commit, state }, newStuff) { //other code return this.$mockAxios.put(url, putBody) .then((response) => { return response; }); },我覺得自己已經(jīng)完全丟失了一些東西,并且已經(jīng)研究了幾個(gè)小時(shí),但仍然沒有得到。
創(chuàng)建后,可以將.then添加到承諾中嗎?
慕桂英3389331
2021-05-04 13:20:02