將服務返回的承諾轉換爲控制器時出現問題。我想要的是從promise中包含的數據創建一個JSON對象數組。以下是我收到的控制器: 在JSON對象中轉換承諾
下面是用於打印的數據行:
console.log("controller unmatched: ", unmatched.getData(sFilter));
這裏的「無與倫比」的服務,和的getData()是它的功能。
謝謝!
將服務返回的承諾轉換爲控制器時出現問題。我想要的是從promise中包含的數據創建一個JSON對象數組。以下是我收到的控制器: 在JSON對象中轉換承諾
下面是用於打印的數據行:
console.log("controller unmatched: ", unmatched.getData(sFilter));
這裏的「無與倫比」的服務,和的getData()是它的功能。
謝謝!
我相信你真正想要做的就是保存承諾解決的價值,而不是承諾本身。
unmatched.getData(sFilter).then(response => {
const json = JSON.stringify(response);
});
這是由於承諾的性質 - 它們是異步的。
Promise對象表示異步操作的最終完成(或失敗)及其結果值。
承諾表示將提供一些在未來的時間,或從未值。這意味着它的最終價值不能由您的unmatched.getData()
函數返回。
你需要做的就是讓unmatched.getData()
返回實際的承諾,那麼你時承諾解決採取行動:
unmatched.getData(sFilter).then(function(result) {
console.log("controller unmatched: ", result);
});
,如果你想從承諾得到JSON對象,我想你可以使用下面的代碼行
response.json()
你是問如何從響應得到的數據?假設你正在解析'$ http'的響應而不做任何修改,它就是'Service.someRequest(params).then(function(response){$ scope.data = response.data;},function(err){/*用err * /}做一些事情);' –