0
그래서 나는이 같은 약속을 통해 jQuery를 아약스 요청 passa하기 위해 노력하고있어 :<value> 정의되지 않은
var foo;
foo = bar().then(function(response) {
console.log("Success!", response);
console.log(foo[0].bool);
}, function(error) {
console.error("Failed!", error);
});
console.log(foo);
function bar(){
return new Promise(function(resolve, rejected){
$.ajax({
url: 'foo.php',
dataType: 'json',
success: function (data) {
resolve(data);
}
}).fail(function(xhr){
rejected(xhr);
})
})
}
모든게은 then()
내에서 잘 작동을 console.log 쇼 내가 원하는 정확히 무엇을하지만, 내가 사용하는 console.log(foo)
이 표시됩니다. Promise { <state>: "fulfilled", <value>: undefined }
여기에 무슨 일이 일어나고 있는지 이해할 수 없습니까? 누구에게 설명 할 수 있습니까?
예상되는 결과는 무엇입니까? 나는 약속하겠다. { : "pending"}' –
왜 수동으로 약속을하고 있니? '$ .ajax'는 약속을 반환합니다. 네이티브 구현을 고수하고 싶다면'Promise.resolve()를 사용하면된다. (function() {return $ .ajax()})' –
@RolandStarke 내 'foo.php'가 보내는 객체의 배열처럼 '[0] : {bool : 'foo', id : 'bar'}' –