В обоих ваших ответах цепочка обещаний1 и цепочка обещаний2 могут чередоваться по-разному. Но галочка: a, галочка: b, галочка: c будет выведена в таком порядке, галочка: a перед галочкой: b и галочка: b перед галочкой: c. after: await может выводиться где угодно между ними.
Для того, что делает ваш код.
// Returns a resolved promise object
// Which is equivalent to const p = new Promise(resolve => resolve());
const p = Promise.resolve();
// For Reference Call This Promise Chain 1
new Promise((resolve) => {
// Fulfills the promise with the promise object p
resolve(p); // (1)
}).then(() => {
console.log('after:await');
});
For Reference Promise Chain 2
p.then(() => console.log('tick:a'))
.then(() => console.log('tick:b'))
.then(() => console.log('tick:c'));
const p = Promise.resolve();
new Promise((resolve) => {
// Here you are calling then which if promise p has been fulfilled
// will call the callback you passed as an argument, which then
// will eventually cause the outer promise to enter a state of
// fulfilled triggering a call to the next 'then' provided in the part of the chain.
p.then(()=>resolve());
}).then(() => {
console.log('after:await');
});
p.then(() => console.log('tick:a'))
.then(() => console.log('tick:b'))
.then(() => console.log('tick:c'));
IPhone в настоящее время использует OpenGL ES 1.1, который не поддерживает программируемый конвейер. OpenGL ES 2.0, действительно кажется, имеет их хотя и также не совместим с 1,1.
Мое понимание - то, что аппаратные программы построения теней на iPhone уже используются ОС для ее функций в CoreAnimation и OpenGL ES. Это означает, что они не доступны Вам.
Вы ищете программу построения теней программного обеспечения? Попробуйте http://unity3d.com/unity/features/shaders
Из этот пост :
Пиксельный шейдер платформы iP * программируется с помощью комбайнеров текстур.