0
だから私はこのような約束を経由してjQueryのAJAXリクエストPASSAしようとしています:then()
の内側にうまく機能Everthingjavascriptの約束<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);
})
})
}
を、私が欲しい正確に何にconsole.logショーが、私は使用している場合console.log(foo)
表示されますPromise { <state>: "fulfilled", <value>: undefined }
ここで何が起こっているのかわかりません、誰でも明示できますか?
期待どおりの結果が得られましたか?私は 'Promise {:" pending "}' –
を期待しています。なぜあなたは手動で約束をしていますか? '$ .ajax'は約束を返します。もしあなたがネイティブの実装に固執したいのであれば、 'Promise.resolve()を使うだけです。(function(){return $ .ajax()})' –
@RolandStarkeオブジェクトの配列のようなものが私の 'foo.php' '[0]:{bool: 'foo'、id: 'bar'}' –